俊星的BLOG

          2010年10月28日 #

          實(shí)現(xiàn)變更統(tǒng)計(jì)

          1、在本地?cái)?shù)據(jù)庫(kù)中創(chuàng)建如下表:
          -- Create table
          create table TMP_CR_PERSONS
          (
            SPECIALTY     VARCHAR2(50),
            USER_GROUP    VARCHAR2(50),
            USER_NAME     VARCHAR2(50),
            USER_CATEGORY VARCHAR2(50)
          )

          2、創(chuàng)建DBLINK:
           
            create database link LK2PMS connect to XXX identified by XX
            using '(DESCRIPTION =
              (ADDRESS_LIST =
                (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.5.99)(PORT = 1521))
              )
              (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = oradb9)
              )
            )'

          3、創(chuàng)建視圖,查詢(xún)變更清單:
          CREATE OR REPLACE VIEW V_TMP_CR_LIST AS
          SELECT D.CHANGE_REQUEST_CODE,
                 D.PROJECT_NAME,
                 D.PRODUCT_NAME,
                 D.MODULE_NAME,
                 D.TYPE,
                 D.PRIVILEGE,
                 D.PROPOSE_TIME,
                 WF.TRANSACTOR,
                 WF.TASKNAME,
                 P.SPECIALTY,
                 P.USER_GROUP,
                 P.USER_CATEGORY
            FROM PMS_CHANGE@lk2pms D,
                 (SELECT MAX(ID) ID
                    FROM WFT_FLOWCONTROL@lk2pms WF
                   WHERE WF.WORKFLOWID = 'ChangeRequest'
                   GROUP BY WF.WORKID) MX,
                 WFT_FLOWCONTROL@lk2pms WF,
                 TMP_CR_PERSONS P
           WHERE WF.ID = MX.ID
             AND WF.WORKID = D.CHANGE_REQUEST_ID
             AND D.CHANGE_REQUEST_CODE LIKE 'CR%'
             AND WF.TRANSACTOR = P.USER_NAME
             AND D.STATE NOT IN ('結(jié)束','終止','拒絕');


          4、創(chuàng)建統(tǒng)計(jì)視圖:
          CREATE VIEW V_TMP_CR_STAT AS
          SELECT T.USER_GROUP, T.USER_NAME, COUNT(V.CHANGE_REQUEST_CODE) TOTAL
            FROM V_TMP_CR_LIST V, TMP_CR_PERSONS T
           WHERE V.TRANSACTOR(+) = T.USER_NAME
           GROUP BY CUBE(T.USER_GROUP, T.USER_NAME);

          posted @ 2010-11-22 09:09 俊星 閱讀(298) | 評(píng)論 (0)編輯 收藏

          切換IE8中碰到的問(wèn)題

          1、當(dāng)然是訪(fǎng)問(wèn)老系統(tǒng)中的,應(yīng)該都采用兼容視圖
          2、在訪(fǎng)問(wèn)網(wǎng)公司系統(tǒng)的時(shí)候,出現(xiàn)內(nèi)存不能寫(xiě)的錯(cuò)誤提示,讓后直接頁(yè)面加載失敗,解決辦法是,找到用SOGOU瀏覽器加載頁(yè)面后,發(fā)現(xiàn)需要安裝JITDSign這個(gè)插件,所以手工找到JITDSign.cab,解壓后直接運(yùn)行“regsvr32  JITDSign.ocx”,再刷新頁(yè)面,OK了。

          3、其他問(wèn)題暫未發(fā)現(xiàn)。

          posted @ 2010-11-10 10:04 俊星 閱讀(347) | 評(píng)論 (0)編輯 收藏

          發(fā)布FWMS

          1、利用命令“D:\FWMS\code\trunk\main\ear\ejb>dir /a:d /b”,列舉出所有的EJB模塊清單

          2、結(jié)合上面的清單,結(jié)合正則“^(.*)$”,替換為“<ant antfile="${FWMS_code}/ear/ejb/$1/META-INF/build.xml" dir="${FWMS_code}/ear/ejb/$1/META-INF" target="ejbdoclet"/>”形式,并將得到的ant元素清單放置到工程下build.xml的“Generating_Code”target中。

          3、基于如下正則,利用UE批量替換properties文件中的project.path:
          查找:(project.path.*)
          目標(biāo):project.path=../../../APP-INF/classes;../../../APP-INF/lib/activation.jar;../../../APP-INF/lib/ant.jar;../../../APP-INF/lib/apachepoi.jar;../../../APP-INF/lib/axis.jar;../../../APP-INF/lib/axis-ant.jar;../../../APP-INF/lib/bsh2.0.jar;../../../APP-INF/lib/classes12.zip;../../../APP-INF/lib/commons-
          文件:build.properties
          路徑:D:\FWMS\code\trunk\main\ear\ejb\
          (注意需要選中搜索子目錄項(xiàng))

          4、上述完成之后,執(zhí)行build_code.bat 即可完成EJB的編譯

          5、設(shè)置ct-config.xml中相關(guān)內(nèi)容,最后是啟動(dòng)weblogic 并設(shè)置數(shù)據(jù)源,同時(shí)發(fā)布應(yīng)用。

          6、發(fā)布啟動(dòng)weblogic的時(shí)候,報(bào)“java.lang.OutOfMemoryError: PermGen space”異常,在C:\bea\weblogic92\common\bin的commEnv.cmd中,查看到其內(nèi)存設(shè)置為“set MEM_ARGS=-Xms128m -Xmx256m”;在C:\bea\user_projects\domains\fwms_domain\bin下startWebLogic.cmd中,添加“set MEM_ARGS=-Xms256m -Xmx512m -XX:MaxPermSize=128m”,適當(dāng)加大內(nèi)存。

          posted @ 2010-11-09 11:59 俊星 閱讀(468) | 評(píng)論 (0)編輯 收藏

          ActiveMQ初探

          Apache ActiveMQ是一個(gè)高性能的消息代理,實(shí)現(xiàn)了JMS 1.1。
          目前的最新版本是5.4.1
          1、下載相關(guān)包,并將activemq-all-5.4.1.jar加入到工程中。

          2、運(yùn)行bin目錄下的actionmq.bat文件,啟動(dòng)broker,在conf下是相關(guān)的配置文件,例如activemq.xml

          3、可通過(guò)訪(fǎng)問(wèn)http://localhost:8161/admin/來(lái)查看啟動(dòng)情況,有可通過(guò)netstat -an|find "61616" 來(lái)查看端口,因?yàn)橥ㄟ^(guò)查看activemq.xml中即可發(fā)現(xiàn)傳輸連接器即配置的占用61616端口:
          <transportConnectors>
                  <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
           </transportConnectors>

          4、編寫(xiě)消息接收類(lèi):
          import javax.jms.Connection;
          import javax.jms.ConnectionFactory;
          import javax.jms.Destination;
          import javax.jms.JMSException;
          import javax.jms.MessageConsumer;
          import javax.jms.Session;
          import javax.jms.TextMessage;

          import org.apache.activemq.ActiveMQConnection;
          import org.apache.activemq.ActiveMQConnectionFactory;

          public class JmsReceiver {
              
          public static void main(String[] args) throws JMSException {
                  ConnectionFactory connectionFactory 
          = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
                          ActiveMQConnection.DEFAULT_PASSWORD, 
          "tcp://localhost:61616");
                  Connection connection 
          = connectionFactory.createConnection();
                  connection.start();
                  Session session 
          = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
                  
          // 需要在activemq的控制臺(tái)中創(chuàng)建queue:testqueue
                  Destination destination = session.createQueue("testqueue");
                  MessageConsumer consumer 
          = session.createConsumer(destination);
                  
                  
          while (true{
                      TextMessage message 
          = (TextMessage) consumer.receive(1000);
                      
          if (null != message)
                          System.out.println(
          "收到消息:" + message.getText());
                      
          else
                          
          break;
                  }

                  session.close();
                  connection.close();
              }

          }


          5、編寫(xiě)消息產(chǎn)生類(lèi):
          import javax.jms.Connection;
          import javax.jms.ConnectionFactory;
          import javax.jms.DeliveryMode;
          import javax.jms.Destination;
          import javax.jms.JMSException;
          import javax.jms.MessageProducer;
          import javax.jms.Session;
          import javax.jms.TextMessage;

          import org.apache.activemq.ActiveMQConnection;
          import org.apache.activemq.ActiveMQConnectionFactory;

          public class JmsSender {
              
          public static void main(String[] args) throws JMSException {
                  ConnectionFactory connectionFactory 
          = new ActiveMQConnectionFactory(ActiveMQConnection.DEFAULT_USER,
                          ActiveMQConnection.DEFAULT_PASSWORD, 
          "tcp://localhost:61616");
                  Connection connection 
          = connectionFactory.createConnection();
                  connection.start();
                  Session session 
          = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);
                  Destination destination 
          = session.createQueue("testqueue");
                  MessageProducer producer 
          = session.createProducer(destination);
                  producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
                  sendMsg(session, producer);
                  session.commit();
                  connection.close();
              }


              
          public static void sendMsg(Session session, MessageProducer producer) throws JMSException {
                  
          // 創(chuàng)建一條文本消息
                  TextMessage message = session.createTextMessage("你好 ActiveMQ!");
                  producer.send(message);
                  System.out.println(
          "");
              }

          }


          6、通過(guò)訪(fǎng)問(wèn)http://localhost:8161/admin/,在queue中創(chuàng)建testqueue,先執(zhí)行消息發(fā)送類(lèi),后執(zhí)行消息接收類(lèi),借看看到消息接收類(lèi)的如下執(zhí)行結(jié)果:
          收到消息:你好 ActiveMQ!
          收到消息:你好 ActiveMQ!

          (執(zhí)行多次消息發(fā)送類(lèi),則會(huì)接受到多條“你好 ActiveMQ!”消息)

          posted @ 2010-10-28 17:53 俊星 閱讀(2910) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 两当县| 垦利县| 元江| 阿拉善左旗| 漳州市| 项城市| 金坛市| 丽江市| 永济市| 罗甸县| 宜城市| 镇赉县| 许昌县| 南安市| 登封市| 礼泉县| 张家川| 邯郸县| 平陆县| 固阳县| 阳泉市| 盐源县| 资中县| 临沧市| 仪征市| 门头沟区| 翁牛特旗| 贵阳市| 冀州市| 汉中市| 辉南县| 广宗县| 湖南省| 文山县| 乌拉特前旗| 襄樊市| 宁南县| 呈贡县| 应用必备| 凤台县| 河源市|