itstarting:IT進行時

          想自己所想,做自己所愛

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            28 隨筆 :: 3 文章 :: 55 評論 :: 0 Trackbacks
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(7)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          #

           

          ActiveMQ 5.0的文檔實在是太少了,尤其是集成Spring2.x方面更少。

                  下面是配置方面的心得:
                  一、服務器端配置:

           總體參考官方網站進行整合,差點害死人,不停的出現各種配置錯誤,后來經過google查詢各種郵件列表,才發現xsd使用不當。        

          <?xml version="1.0" encoding="UTF-8"?>
          <beans 
            
          xmlns="http://www.springframework.org/schema/beans" 
            xmlns:amq
          ="http://activemq.org/config/1.0"
            xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd"
          >


          </beans>

          這個才是正確的,兩點:

          1、去掉:

          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

          2、用這個而不是那個:

          這個:

                     http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd

          那個:     
               http://activemq.apache.org/snapshot-schema/activemq-core-5.0-SNAPSHOT.xsd


                  完整的配置如下:        
                  applicationContext-activeMQ.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans 
            
          xmlns="http://www.springframework.org/schema/beans" 
            xmlns:amq
          ="http://activemq.org/config/1.0"
            xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd"
          >

            
          <amq:broker useJmx="true" persistent="true"> 
              
          <amq:persistenceAdapter> 
                  
          <amq:jdbcPersistenceAdapter dataSource="#mysql-ds"/> 
                
          </amq:persistenceAdapter> 
              
          <amq:transportConnectors> 
                 
          <amq:transportConnector uri="tcp://localhost:0"/> 
              
          </amq:transportConnectors> 
             
          </amq:broker>
            
            
          <!-- MySql DataSource Setup -->
            
          <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
              
          <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
              
          <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
              
          <property name="username" value="activemq"/>
              
          <property name="password" value="activemq"/>
              
          <!--
              <property name="poolPreparedStatements" value="true"/>
          -->
            
          </bean>
          </beans>


                  二、web.xml配置: 

              <!--activeMQ-->
              
          <context-param>
                  
          <param-name>contextConfigLocation</param-name>
                  
          <param-value>
                      /WEB-INF/applicationContext-activeMQ.xml 
                      /WEB-INF/applicationContext-jms.xml 
                  
          </param-value>
              
          </context-param>

              
          <listener>
                  
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              
          </listener>



                  三、客戶端配置此處僅供參考,還未曾具體實戰確認):
                  applicationContext-jms.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <beans 
            
          xmlns="http://www.springframework.org/schema/beans" 
            xmlns:amq
          ="http://activemq.org/config/1.0"
            xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
            http://activemq.org/config/1.0 http://activemq.apache.org/schema/core/activemq-core-5.0.0.xsd"
          >
            
          <!-- ActiveMQ destinations to use  -->
            
          <amq:queue id="destination"  physicalName="org.apache.activemq.spring.Test.spring.embedded"/>

            
          <!-- JMS ConnectionFactory to use, configuring the embedded broker using XML -->
            
          <amq:connectionFactory id="jmsFactory" brokerURL="vm://localhost"/>  
            
          <!-- Spring JMS Template -->
            
          <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
              
          <property name="connectionFactory">
                
          <!-- lets wrap in a pool to avoid creating a connection per send -->
                
          <bean class="org.springframework.jms.connection.SingleConnectionFactory">
                  
          <property name="targetConnectionFactory">
                    
          <ref bean="jmsFactory" />
                  
          </property>
                
          </bean>
              
          </property>
              
          <property name="messageConverter">
                  
          <ref bean="dynamicMessageConverter"/>
              
          </property>
            
          </bean>
            
            
          <bean id="dynamicMessageConverter" class="com.tuanzi.message.mq.impl.DynamicMessageConverter"/>  

            
          <bean id="consumerJmsTemplate" class="org.springframework.jms.core.JmsTemplate">
              
          <property name="connectionFactory">
                  
          <ref bean="jmsFactory"/>
              
          </property>
              
          <property name="messageConverter">
                  
          <ref bean="dynamicMessageConverter"/>
              
          </property>
              
          <property name="receiveTimeout">
                  
          <value>10000</value>
              
          </property>
            
          </bean>

            
          <!-- a sample POJO which uses a Spring JmsTemplate -->
            
          <bean id="simpleMessageProducer" class="com.tuanzi.message.mq.impl.SimpleMessageProducer">
              
          <property name="jmsTemplate">
                
          <ref bean="jmsTemplate"></ref>
              
          </property>
              
          <property name="destination">
                
          <ref bean="destination" />
              
          </property>
            
          </bean>

            
          <!-- a sample POJO consumer -->
            
          <bean id="simpleMessageConsumer" class="com.tuanzi.message.mq.impl.SimpleMessageConsumer">
              
          <property name="jmsTemplate" ref="consumerJmsTemplate"/>
              
          <property name="destination" ref="destination"/>
            
          </bean>
          </beans>


              TODO:
              1、客戶端的配置需要實戰后進行進一步的確認、更新;
              2、后期視情況增加一篇《Spring2.x與ActiveMQ5.0成功集成的心得(實戰篇)》


              主要參考:

          http://activemq.apache.org/spring-support.html

          http://activemq.apache.org/xml-reference.html

          posted @ 2008-01-20 23:41 IT進行時 閱讀(3446) | 評論 (3)編輯 收藏

          ORA-00600是Oracle的內部錯誤。何謂內部錯誤,就是Oracle也認為是uncheck的錯誤了。

          我是在執行查詢時出現了這樣的提示,用的是9.2.0.1版本,我查了好長時間,當時的第一反應就是:完了,Oracle的BUG,要打補丁了。

          后來找到了一個論壇,這里:http://oracle.ittoolbox.com/groups/technical-functional/oracle-db-l/ora-00600-internal-error-code-arguments-20084-50364303-23-50364303-23-325619?cv=expanded#。有高人指點,終于解決了。


          我的解決方法很簡單,變更了一個參數:
          STAR_TRANSFORMATION_ENABLED從原來的TRUE改為FALSE。

          只能知其然不知其所以然了。
          posted @ 2007-08-31 09:29 IT進行時 閱讀(23252) | 評論 (6)編輯 收藏

          jmagick是什么?不用我說了吧。

          jmagick的安裝(基于windows),精簡版步驟:
          1、下載jmagick-win-5.5.7-Q8.zip,并把jmagick.jar放到應用的lib下,jmagick.dll拷貝到SYSTEM32下;
          2、安裝ImageMagick-5.5.7-Q8-windows-dll.exe軟件
          3、重新啟動機器
          麻煩點,但對圖片的處理能力,確實超乎想象的(不過用6.2.6版本頻頻出現JVM Crach,嚇死)

          jmagick的使用,我只用了圖片縮放,還可以。
          代碼如下:
             System.setProperty("jmagick.systemclassloader", "no");//這個沒什么好說的,照辦就是了
             ImageInfo info = new ImageInfo(fromFileName);
             MagickImage fromImage = new MagickImage(info);
             Dimension dim = fromImage.getDimension();
             double w = dim.getWidth();
             double h = dim.getHeight();
             int toHeight = (int)(h*toWidth/w);//按寬度比例縮放
                
             MagickImage toImage = fromImage.scaleImage(toWidth, toHeight);//縮放操作
             toImage.setFileName(toFileName);//設置輸出的文件名
             toImage.writeImage(info); //保存


          過程中發現最新版本的諸多問題,要么NoClassDefFoundError要么Can't find dependent libraries,簡直不勝其煩。

          后來降級到5.5.7,就好了,說明IT人唯最新版本是從的想法不一定正確。

          說心里話,過程中曾經出現過多次JVM crach,現在還有心理陰影。
          posted @ 2007-07-26 12:53 IT進行時 閱讀(5826) | 評論 (4)編輯 收藏

              對于開發和實施人員來說,也許大家經常會碰到這樣的對話:

              實施工程師:系統有問題了,是哪里哪里(省略字若干+若干界面截圖)
              開發工程師:不可能,我這邊還原了整個環境,包括數據庫、代碼和中間件……
              實施工程師:這邊是weblogic,你那邊是?
              開發工程師:我的是Tomcat,但Tomcat和weblogic的差異呢,不知道……

              然后就沒有結果,因為我們的個人電腦真的無法或者難以承受weblogic或者websphere之重。

              怎么辦呢,其實我們可以用遠程調試的方法:
             
              三步配置遠程調試:
              一、對于TOMCAT:
                1、打開catalina.bat,并加入:
                  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555
                2、配置Eclipse,如下圖(此時Port與上面的address一致,是5555):

           
              3、如果Tocat已經起來(注意,可能在另外的機器上),那點擊debug,即可進行與本地服務一樣的調試過程。

              二、對于Weblogic:
                1、打開startWebLogic.cmd,并調整執行java命令的地方:
          %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
          調整為
          @REM ORG : %JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
          @REM Surport Remote Debug :
          set JAVA_DEBUG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_Socket,address=4000,server=y,suspend=n
          %JAVA_HOME%\bin\java %JAVA_VM% %JAVA_DEBUG% %MEM_ARGS% %JAVA_OPTIONS% -Dweblogic.Name=%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
                2、其他配置類似Tomcat,如下:
              
              3、同樣,如果weblogic已經起來(注意,我上面的例子就是weblogic不在本機上,而在于另外的機器上),那點擊debug,即可進行與本地服務一樣的調試過程,如下:

              大家也許會問:這樣調試會不會影響客戶使用?當然會影響,如果一旦hit了斷點,則整個應用會被掛起。那怎么樣才能盡可能的進行調試呢?方法還是有的:
              1、如果是tomcat,重新復制一份tomcat,修改一下端口,然后起來后調試,此時整個環境都類似了,調試起來非常方便;
              2、如果是weblogic,重新建立一個新的domain即可,互不干擾;
              3、如果是websphere,呵呵,沒試過,留給大家的作業。

              原理?好奇的人還會問,其實就是jdwp(Java(tm) Debug Wire Protocol),有興趣就google一下吧。

          posted @ 2007-06-13 16:22 IT進行時 閱讀(2342) | 評論 (4)編輯 收藏

               摘要: 以前公司購買過eWebEditor,功能應該還是不錯的,但即便到了現在,也還僅是一個IE only的版本,無法滿足現在差異化的需求。故前段時間下了最新的FCKeditor2.3.3版本下來(當然了,連帶java的integration),demo來看看,發現有幾個地方非常不爽:1、上載的文件,只能放在URL可及的地方(如默認只能放到嵌入應用路徑的/UserFiles/下);2、沒有明確的上載視頻的...  閱讀全文
          posted @ 2007-03-11 20:20 IT進行時 閱讀(6875) | 評論 (12)編輯 收藏

          此類話題已經很多,可以參考的文檔也不少,我是參考這個blog的文檔做的:
          http://blogger.org.cn/blog/blog.asp?name=lhwork

          1)環境和版本:
          Apache2.0.59+Tomcat5.5.15(兩個),一開始用的是Tomcat5.0.28,一直有問題(在后面總結),就升級到5.5去做試驗了,冤枉5.0.28兄弟了:)

          步驟小結為:
          1、安裝(忽略);
          2、配置Tomcat:
          ???1)第一個Tomcat:
          ??????A.啟用jvmRoute??????
          ??? <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
          ??? <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">??????????
          ??? <!-- Define the top level container in our container hierarchy
          ??? <Engine name="Catalina" defaultHost="localhost">-->
          ??????B.啟用原來禁用的Cluster設置
          ??????
          ??????? <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
          ???????????????? managerClassName="org.apache.catalina.cluster.session.DeltaManager"
          ???????????????? expireSessionsOnShutdown="false"
          ???????????????? useDirtyFlag="true"
          ???????????????? notifyListenersOnReplication="true">

          ??????????? <Membership
          ??????????????? className="org.apache.catalina.cluster.mcast.McastService"
          ????????????????mcastBindAddress="127.0.0.1"
          ??????????????? mcastAddr="224.1.2.3"
          ??????????????? mcastPort="2525"
          ??????????????? mcastFrequency="500"
          ??????????????? mcastDropTime="3000"/>

          ??????????? <Receiver
          ??????????????? className="org.apache.catalina.cluster.tcp.ReplicationListener"
          ??????????????? tcpListenAddress="auto"
          ??????????????? tcpListenPort="4001"
          ??????????????? tcpSelectorTimeout="100"
          ??????????????? tcpThreadCount="6"/>

          ??????????? <Sender
          ??????????????? className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
          ??????????????? replicationMode="pooled"
          ??????????????? ackTimeout="15000"/>

          ??????????? <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
          ?????????????????? filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
          ??????????????????
          ??????????? <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
          ????????????????????? tempDir="/tmp/war-temp/"
          ????????????????????? deployDir="/tmp/war-deploy/"
          ????????????????????? watchDir="/tmp/war-listen/"
          ????????????????????? watchEnabled="false"/>
          ?????????????????????
          ??????????? <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
          ??????? </Cluster>
          ??????C.搞定
          ???2)配置第二個Tomcat(要注意端口沖突了):
          ??????A.變更端口
          ??????<Server port="8005" shutdown="SHUTDOWN">
          ??????=》
          ??????<Server port="8004" shutdown="SHUTDOWN">
          ??????B.變更端口
          ??????<Connector port="8009"
          ?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
          ??????=》
          ??????<Connector port="9009"
          ?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
          ??????C.啟用jvmRoute??????
          ??? <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
          ??? <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">??????????
          ??? <!-- Define the top level container in our container hierarchy
          ??? <Engine name="Catalina" defaultHost="localhost">-->
          ??????D.啟用原來禁用的Cluster設置??????
          ??????? <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
          ???????????????? managerClassName="org.apache.catalina.cluster.session.DeltaManager"
          ???????????????? expireSessionsOnShutdown="false"
          ???????????????? useDirtyFlag="true"
          ???????????????? notifyListenersOnReplication="true">

          ??????????? <Membership
          ??????????????? className="org.apache.catalina.cluster.mcast.McastService"
          ????????????????mcastBindAddress="127.0.0.1"
          ??????????????? mcastAddr="224.1.2.3"
          ??????????????? mcastPort="2525"
          ??????????????? mcastFrequency="500"
          ??????????????? mcastDropTime="3000"/>

          ??????????? <Receiver
          ??????????????? className="org.apache.catalina.cluster.tcp.ReplicationListener"
          ??????????????? tcpListenAddress="auto"
          ??????????????? tcpListenPort="4002"
          ??????????????? tcpSelectorTimeout="100"
          ??????????????? tcpThreadCount="6"/>

          ??????????? <Sender
          ??????????????? className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
          ??????????????? replicationMode="pooled"
          ??????????????? ackTimeout="15000"/>

          ??????????? <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
          ?????????????????? filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
          ??????????????????
          ??????????? <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
          ????????????????????? tempDir="/tmp/war-temp/"
          ????????????????????? deployDir="/tmp/war-deploy/"
          ????????????????????? watchDir="/tmp/war-listen/"
          ????????????????????? watchEnabled="false"/>
          ?????????????????????
          ??????????? <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
          ??????? </Cluster>
          ??????E.搞定
          3、配置apache:
          ???1)修訂conf/httpd.conf??????
          ??????#add by zhengxq
          ??????LoadModule jk2_module modules/mod_jk2.so
          ???2)新增worders2.properties并放到conf下
          ??????[shm]
          info=Scoreboard. Requried for reconfiguration and status with multiprocess servers.
          file=anon

          # Defines a load balancer named lb. Use even if you only have one machine.
          [lb:lb]
          worker=ajp13:tomcat1
          worker=ajp13:tomcat2

          # Example socket channel, override port and host.
          [channel.socket:localhost:9009]
          port=9009
          host=127.0.0.1

          # define the worker
          [ajp13:localhost:9009]
          channel=channel.socket:localhost:9009
          group=lb

          # Example socket channel, override port and host.
          [channel.socket:localhost:8009]
          port=8009
          host=127.0.0.1

          # define the worker
          [ajp13:localhost:8009]
          channel=channel.socket:localhost:8009
          group=lb

          # Map the Tomcat examples webapp to the Web server uri space
          [uri:/clusterapp/*]
          group=lb
          ??????3)搞定

          3.測試程序,請參考上述參考文檔,如下:
          <%@ page contentType="text/html; charset=GBK" import="java.util.*"%>
          <html><head><title>Cluster App Test</title></head>
          <body>
          Server Info: <%out.print(request.getLocalAddr() + " : " + request.getLocalPort());%>
          <%
          out.println("<br> ID " + session.getId());

          // 如果有新的 Session 屬性設置
          String dataName = request.getParameter("dataName");
          if (dataName != null && dataName.length() > 0) {
          ? String dataValue = request.getParameter("dataValue");
          ? session.setAttribute(dataName, dataValue);
          }

          out.print("<b>Session 列表</b>");

          Enumeration e = session.getAttributeNames();
          while (e.hasMoreElements()) {
          ? String name = (String)e.nextElement();
          ? String value = session.getAttribute(name).toString();
          ? out.println( name + " = " + value);
          ? }
          %>
          <form action="index.jsp" method="POST">
          ? 名稱:<input type=text size=20 name="dataName">
          ? <br>
          ? 值:<input type=text size=20 name="dataValue">
          ? <br>
          ? <input type=submit>
          ? </form>
          </body>
          </html>



          ???所需要注意的是:
          ???1、測試應用的web.xml必須加上:<distributable/>
          ???2、我搞了很久,發現三個東西起來后,可以訪問,但只能做到負載均衡,不能session復制,這點我重復配置了一次,就是不行,郁悶之下找了tomcat的郵件列表,這樣做:
          ??????1)測試廣播是否正常
          ?????????A. download this jar
          ????????????http://cvs.apache.org/~fhanik/tomcat-replication.jar

          ?????????B. Open two terminals?
          ??????????? a) Terminal one run
          ???????????????java -cp tomcat-replication.jar MCaster 239.255.10.10 2525 Terminal1
          ??????????? b) Terminal two run
          ???????????????java -cp tomcat-replication.jar MCaster 239.255.10.10 2525 Terminal2
          ?????????發現結果如下:
          ?????????C:\>java -cp tomcat-replication.jar MCaster 224.1.2.3 2525 Terminal1
          Usage MCaster [address port message]
          BEGIN TO RECEIVE
          SENT:Terminal11
          SENT:Terminal12
          SENT:Terminal13
          SENT:Terminal14
          SENT:Terminal15
          SENT:Terminal16
          SENT:Terminal17
          SENT:Terminal18

          ?????????表明廣播有問題,氣死了,難怪Tomcat總是在啟動的時候提示:
          ?????????信息: Manager [/clusterapp]: skipping state transfer. No members active in cluster group.

          ??????后來終于發現貓膩,必須注意在server.xml的<Cluster ..<Membership里面加上mcastBindAddress="127.0.0.1"。
          ???????
          為什么呢?很簡單,因為我安裝了VPN,這家伙會設置一個虛擬網卡,導致綁定失敗(沒地方責怪了,只好讓它墊背)?!這是通過郵件列表里面所描述的多網卡綁定問題舉一反三得到的判斷。具體請參考:http://www.servlets.com/archive/servlet/ReadMsg?msgId=475067&listName=tomcat-user

          ??????


          posted @ 2007-03-07 10:51 IT進行時 閱讀(7290) | 評論 (5)編輯 收藏

          xsl的新版本(1.1)已經在這個月發布,請看:
          http://www.w3.org/TR/2006/PR-xsl11-20061006/


          這樣,XML在數據交換和表現層面的地位,勢必進一步呈現。

          xforms是基于XML發展起來的聲稱為“下一代的表單(form)”,有一定廣告色彩,但現在正在受到越來越多廠商的支持(如IBM正在熱推的forms產品,且多家瀏覽器廠商已經明確支持xforms)。

          其架構如下:


          關注中,也請大家關注了。





          參考文章:
          http://www.xml.com/pub/a/2005/02/09/xforms.html?page=2&x-showcontent=off&x-order=date
          http://www.ws.org.tw/ws/xml_family_show.jsp?TOP_NUM=3&num=8
          posted @ 2006-10-11 10:49 IT進行時 閱讀(1429) | 評論 (1)編輯 收藏

          對于MySQL,還是菜鳥。
          近期做個東西,寫了一個MySQL 的存儲過程,其中涉及Cursor的使用,如下:

          CREATE PROCEDURE `justifyGroupNum`()
          ??? NOT DETERMINISTIC
          ??? SQL SECURITY DEFINER
          ??? COMMENT ''
          BEGIN
          /*how to run:call justifyGroupNum()*/
          DECLARE p_group_id int;
          declare p_num int;
          declare stopFlag int;
          DECLARE cursor_name CURSOR
          ? FOR select c_group_id,count(*) as num
          ????? from `t_group_member`
          ????? where c_valid in (3,4)
          ????? group by c_group_id;
          DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;

          OPEN cursor_name;
          REPEAT
          FETCH cursor_name INTO p_group_id,p_num;
          ? begin
          ?????? update t_groupinfo set c_member_number=p_num where c_group_id=p_group_id;
          ? end;
          UNTIL stopFlag = 1
          END REPEAT;
          CLOSE cursor_name;
          END;

          關注點有:
          1、注意設置游標的countinue handler:DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
          2、注意REPEAT和UTILE [停止條件] END REPEAT的使用,否則不會循環;
          3、怎樣RUN?輸入并執行:call justifyGroupNum()

          posted @ 2006-10-10 11:49 IT進行時 閱讀(5292) | 評論 (3)編輯 收藏

               摘要: 從形勢來看,如果應用不使用 Spring 就感覺有點落伍——說法有點別扭:好像有點過。誠然, Spring 給我們帶來了太多的好處,以至于幾乎大部分的產品都以聲稱能夠整合 Spring 為榮, Mule 也不能免俗:) 從官方來看, mule 與 spring ...  閱讀全文
          posted @ 2006-08-29 16:00 IT進行時 閱讀(6152) | 評論 (0)編輯 收藏

               摘要: Mule是我比較關注的ESB產品之一。
          從關系來看,其實ServiceMix才是我的初戀:)
          這個文檔是幾個月前的一些簡要的學習筆記,希望對大家有所幫助。(也算OpenDoc了一回,免得良心上老是被譴責:只進不出)

          目前最新的版本是1.3-rc4。  閱讀全文
          posted @ 2006-08-01 15:06 IT進行時 閱讀(2408) | 評論 (3)編輯 收藏

          僅列出標題
          共3頁: 上一頁 1 2 3 下一頁 
          主站蜘蛛池模板: 崇仁县| 定边县| 日照市| 邳州市| 松江区| 垣曲县| 墨竹工卡县| 梧州市| 太保市| 沽源县| 石城县| 汕尾市| 通道| 包头市| 海城市| 上杭县| 应城市| 彰化县| 搜索| 江达县| 崇左市| 韶关市| 东海县| 喀喇| 鹤壁市| 通州市| 大姚县| 隆昌县| 建平县| 武鸣县| 彭泽县| 海淀区| 福州市| 广汉市| 教育| 镇赉县| 宁国市| 钟祥市| 社旗县| 榆中县| 黄陵县|