<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    itstarting:IT進行時

    想自己所想,做自己所愛

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      28 隨筆 :: 3 文章 :: 55 評論 :: 0 Trackbacks

    2008年1月20日 #

         摘要: Buffalo是一個前后貫通的完整的Ajax框架,目前最新的版本是2.0.1,其主頁是:
    http://buffalo.sourceforge.net/,可通過該頁面找到下載。
    不過該版本自2007年來就沒有更新了,有點遺憾,不管怎樣,一出來就關注到了,早前通讀過代碼,是個好作品。
    上周開始用了些零碎的時間,重新評估并進行了深入的研究,其目的在于通過深度掌握某個優秀的貫穿前后端的AJAX框架,以提高自己的整體認知感。

    Buffalo最有價值之初,個人感覺有兩點:
    1、后端實現了較為完整的基于xml的xml<->object序列化反序列化協議;
    2、前端提供了適配協議的調用封裝和響應解析機制,并基于回調機制提供編碼API。
      閱讀全文
    posted @ 2010-01-12 14:38 IT進行時 閱讀(3064) | 評論 (0)編輯 收藏

    經過幾個晚上的奮戰,Hadoop-0.20.1+Ubuntu9.10實戰終于出爐。

    目錄:
    一、環境準備 1
    二、安裝JDK6 1
    三、配置SSH 2
    四、安裝配置hadoop 4
    4.1下載及安裝 4
    4.2配置 4
    4.2.1配置$HADOOP_HOME/conf/hadoop-env.sh 4
    4.2.2配置$HADOOP_HOME/conf/core-site.xml 4
    4.2.3配置$HADOOP_HOME/conf/mapred-site.xml 5
    4.2.4格式化namenode 5
    4.3啟動及驗證 5
    五、跑第一個wordcount例子 7
    4.1準備工作 7
    4.2運行例子 8
    4.3看結果 11
    4.4在eclipse中調試/運行 12
    4.5分析代碼 15
    六、改進的wordcount例子 17
    參考 23
    FAQ 23
    1、xxx is not in the sudoers file解決方法 23
    2、/etc/sudoers is mode 0640, should be 0440怎么回事? 24
    3、如何增加ubuntu的SWAP空間? 24
    4、bin/hadoop dfs到底有哪些命令? 25

    原文和文檔我放在了javaeye,這里給個鏈接吧:
    http://itstarting.javaeye.com/blog/520985
    posted @ 2009-12-15 22:46 IT進行時 閱讀(1708) | 評論 (1)編輯 收藏

     

                   1JDK安裝配置

        選用最新的版本6.0.

        打開終端,執行以下命令:

            sudo apt-get install sun-java6-jdk

        按照提示做就是了。

        配置JAVA環境變量:

            sudo gedit /etc/environment

           在其中添加如下兩行:

            CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib

            JAVA_HOME=/usr/lib/jvm/java-6-sun

        執行命令:sudo gedit /etc/jvm,在最前面加入:

           /usr/lib/jvm/java-6-sun

                   2Tomcat安裝配置

        還是喜歡經典的Tomcat5.5,http://tomcat.apache.org去下載。

        文件為:apache-tomcat-5.5.28.zip

        解壓縮:

        unzip /home/zhengxq/下載/apache-tomcat-5.5.28.zip -d $HOME/java

                   3Eclipse安裝配置

        下載最新的版本,并解壓縮:

        zhengxq@zhengxq-desktop:~$ tar zxf $HOME/下載/eclipse-java-galileo-SR1-linux-gtk.tar.gz -C $HOME/java

        此時直接通過$HOME/java/eclipse/eclipse即可啟動。

        Tomcat插件是必須的,下載并解壓縮到eclipse/plugins下,重啟eclipse即可。

        下面是高級篇:)。為了建立更方便的導航,可以這樣:

        1、在/usr/bin目錄下創建一個啟動腳本eclipse

        sudo gedit /usr/bin/eclipse

       
    然后在該文件中添加以下內容:

        #!/bin/sh
        export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
        export ECLIPSE_HOME="/home/zhengxq/java/eclipse"
        $ECLIPSE_HOME/eclipse $*

        2
    、讓修改該腳本的權限,讓它變成可執行:

        sudo chmod +x /usr/bin/eclipse

        3
    、在桌面或者gnome菜單中添加eclipse啟動圖標
       
    1)在桌面或者啟動面板上添加圖標:
       
    在桌面(右鍵單擊桌面->創建啟動器)或面板(右鍵單擊面板->添加到面板 ->定制應用程序啟動器)上創建一個新的啟動器,然后添加下列數據:
       
    名稱:Eclipse Platform
       
    命令:eclipse
       
    圖標: /home/zhengxq/java/eclipse/icon.xpm
       
    2)在Applications(應用程序)菜單上添加一個圖標
       
    用文本編輯器在/usr/share/applications目錄里新建一個名為eclipse.desktop的啟動器,如下面的命令:
        sudo gedit /usr/share/applications/eclipse.desktop
       
    然后在文件中添加下列內容:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Eclipse Platform
    Comment=Eclipse IDE
    Exec=eclipse
    Icon=/home/zhengxq/java/eclipse/icon.xpm
    Terminal=false
    StartupNotify=true
    Type=Application
    Categories=Application;Development;

        保存文件,此時即可通過雙擊桌面eclipse的圖標來運行eclipse

        注意: Type=Application后面絕對不能有空格,否則出不來可別抓狂。

    posted @ 2009-12-15 22:44 IT進行時 閱讀(2166) | 評論 (1)編輯 收藏

    ——IT 進行時(Email & MSN:zhengxianquan AT hotmail.com)

    說在前面的話: 作為一名技術人員,喜歡通過自己的實戰去學習,也養成了寫學習筆記的習慣。個人做企業應用更多,也涉及TB級別的非結構化數據,對于Hadoop倒是第一次接觸,分布式計算總歸有用武之地。但這個筆記只能說是自己的盲學,就是簡單的看看。

    Keywords:Hadoop; HDFS; 學習筆記

    目錄:
    1. 準備工作 2
    1.1. Supported Platforms 2
    1.2. Hadoop需要的基礎東西 2
    1.3. 安裝Cygwin注意事項 2
    2. 單機上配置過程 3
    2.1. 配置SSH 3
    2.1.1. 配置服務 3
    2.1.2. 啟動Cygwin sshd服務 4
    2.1.3. Setup authorization keys 5
    2.2. 修訂/配置/conf/core-site.xml 7
    2.3. 修訂/配置/conf/mapred-site.xml 9
    2.4. 修訂/配置\conf\masters和slaves 9
    2.5. 修訂/配置\conf\hadoop-env.sh 9
    2.6. 其他數據節點類似,重復即可 10
    3. 格式化及啟動 10
    3.1. 啟動命令 10
    3.2. 如何驗證啟動成功 11
    4. 使用及開發 12
    4.1. 常用命令行使用方法 12
    4.2. 可以通過瀏覽器訪問 15
    5. FAQ 16
    5.1. 為什么啟動不了? 16
    5.2. 配置文件可能導致的問題 17
    5.3. JobTracker一直有問題? 19
    5.4. 如何驗證配置并啟動成功? 19
    6. 常用命令 20
    7. 參考 21

    地址:http://itstarting.javaeye.com/blog/513659
    posted @ 2009-12-15 22:43 IT進行時 閱讀(2031) | 評論 (1)編輯 收藏

    Aalst提出了工作流有20種基本模式。

    如果不知道的可參考《Workflow Patterns-2002》

     工作流20種基本模式的理解(當然了,后人陸續擴展、變化,模式數量不斷變化,但萬變不離其宗,可從這些基本模式看起)

     

    下面是我的初步分析:

    模式名稱

    模式關鍵字

    模式說明

    Basic Control Patterns

    Sequence

    Sequence

    1

    Parallel Split

    AND Split

    2

    Synchronization

    AND Join

    3

    Exclusive Choice

    XOR Split

    4

    Simple Merge

    XOR Join

    5

    ADVANCED BRANCHING AND SYNCHRONIZATION PATTERNS

    Multiple Choice

    OR Split

    6

    Synchronizing Merge

    AND Join

    7

    Multi-merge

    OR Join(+Multi)

    8

    Discriminator

    OR Join(+Reset/Ignore)

    9

    N-out-of-M-join

    OR Join(+Multi M)

    9aN分支,M聚合即可

    STRUCTURAL PATTERNS 

    Arbitrary Cycles[自由循環]

    XOR Split

    10

    Implicit Termination

    Multi(OR/AND) Split End

    11

    PATTERNS INVOLVING MULTIPLE INSTANCES

    MI without synchronization

    Runtime independent thread by condition

    12,在運行期創建獨立實例(線程、程序等)

    MI with a priori known design time knowledge

    Design time priori Instance

    13,設計期多實例,且需全部完成

    MI with a priori known runtime knowledge

    Runtime multi Instance by condition/free

    14,運行期可基于條件創建多實例

    MI with no a priori runtime knowledge

    Runtime multi Instance free by people

    15,運行期可手工隨意創建多實例

    STATE-BASED PATTERNS 

    Deferred Choice

    XOR Split(By choice)

    16,“推著走”流程,或基于既定條件分支

    Interleaved Parallel Routing

    OR Split + OR Join, Parallel

    17,多分支聚合,分支執行順序由運行期確定

    Milestone

    Wait by Milestone

    18,在“里程碑”節點等待

    CANCELLATION PATTERNS   

    Cancel Activity

    Cancel in specified Activity

    19,在指定的活動取消

    Cancel Case

    Cancel Anywhere/Anytime

    20,任意時候可取消


    可以看到,其實很多是類似的,這為下一步的工作流引擎需求、設計打下基礎。

    拋磚引玉,供大家參考。

    posted @ 2009-12-15 22:38 IT進行時 閱讀(1656) | 評論 (0)編輯 收藏

    1、基于現成的某個Style進行針對性的開發(這個開發說白了就是結合自己論文格式的要求不停的重復:修改<->驗證),保存為自己的Style(如“鄭式.ens”);
    2、把Style文件(如“鄭式.ens”)放到\EndNote9\Styles目錄下;
    3、重新啟用EndNote;
    4、打開Open Style Manager…
    5、選中我的Style(如“鄭式.ens”),此時通過選中“鄭氏”啟用樣式:
     

     

    附上樣式文件,適合浙大碩士論文的編寫要求(其他學校是否符合,未知):/Files/itstarting/zheng.rar

    posted @ 2009-08-31 23:14 IT進行時 閱讀(504) | 評論 (0)編輯 收藏

         摘要: 無論是商業化的還是開源的Portal產品,符合國際標準規范是必不可少的要求。有的Portal可能不支持WSRP(Web Services for Remote Portlets),但必須符合JSR-168標準。比較突出的開源Portal主要有JBoss Portal、Apache Jetspeet-2,Liferay Portal,還有兩個屬于歐洲的非美產品eXo Platform和GridSph...  閱讀全文
    posted @ 2009-04-15 13:19 IT進行時 閱讀(986) | 評論 (0)編輯 收藏

    Q:WORD莫名其妙的所有引用(如Endnote和插入PPT對象)都變成了域代碼,怎么辦?
    A:工具->選項->視圖;“域代碼”,把它前面的對勾去掉即可!
    備注:我居然嘗試了一次一個一個選擇“切換域代碼”,累死了不說,居然重新打開又這樣,暈死。

    參考:http://zhidao.baidu.com/question/75336298.html
    posted @ 2009-04-12 21:55 IT進行時 閱讀(1620) | 評論 (1)編輯 收藏

    AIX下用nmon進行監控和分析實戰

    nmon從這里下載:
    http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

    1、準備
      1)用root用戶登錄到系統中
      2)建目錄:#mkdir /nmon/script
      3)確定版本:#oslevel,以便確定用哪個腳本,我是用530
            # oslevel -s
                5300-09-01-0847
      4)把nmon12e_aix530用ftp上傳到/nmon/script
      5)執行授權命令:#chmod +x nmon12e_aix530

    2、使用
     1)直接使用:
     ./nmon/nmon12e_aix536 -f -N -m /nmon/log -s 30 -c 2880
     表示:
      -f 按標準格式輸出文件:<hostname>_YYYYMMDD_HHMM.nmon
      -N include NFS sections
      -m 切換到路徑去保存日志文件
      -s 每隔n秒抽樣一次,這里為30
      -c 取出多少個抽樣數量,這里為2880,即監控=2880*(30/60/60)=24小時
       根據小時計算這個數字的公式為:c=h*3600/s,比如要監控10小時,每隔30秒采樣一次,則c=10*3600/30=1200
     
      2)用crontab定期使用:
     A、執行命令:#crontab -e
     B、在最后一行添加如下命令:
      0 8 * * 1,2,3,4,5 /nmon/script/nmon12e_aix530 -f -N -m /nmon/log -s 30 -c 1200
     表示:
      周一到周五,從早上08點開始,監控10個小時(到18:00整為止),輸出到/nmon/log

    3、分析
      1)會在/tmp/nmon生成*.nmon的文件把它下載到你的電腦上
      2)打開nmon analyser v339.xls,把宏的安全性設成最低,打開下載好的*.nmon文件。
         并且保存為一個文件,生成的是視圖模式的,非常直觀!


    參考:
    附錄一:crontab參數:
    參考:http://tech.ddvip.com/2008-11/122629526990895.html
         f1 f2 f3 f4 f5 program
    minute  hour  day_of_month  month  weekday  command這些字段接收以下值:
    minute 0 到 59
    hour 0 到 23
    day_of_month 1 到 31
    month 1 到 12
    weekday 0 到 6(星期天到星期六)

     其中f1 是表示分鐘,f2 表示小時,f3 表示一個月份中的第幾日,f4 表示月份,f5 表示一個星期中的第幾天。program 表示要執行的程序。
       當 f1 為 * 時表示每分鐘都要執行 program,f2 為 * 時表示每小時都要執行程序,其馀類推
       當 f1 為 a-b 時表示從第 a 分鐘到第 b 分鐘這段時間內要執行,f2 為 a-b 時表示從第 a 到第 b 小時都要執行,其馀類推
       當 f1 為 */n 時表示每 n 分鐘個時間間隔執行一次,f2 為 */n 表示每 n 小時個時間間隔執行一次,其馀類推
       當 f1 為 a, b, c,... 時表示第 a, b, c,... 分鐘要執行,f2 為 a, b, c,... 時表示第 a, b, c...個小時要執行,其馀類推


    附錄二:nmon參數:
    參考http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
    nmon:
    -f            spreadsheet output format [note: default -s300 -c288]
               Output file is <hostname>_YYYYMMDD_HHMM.nmon

            -F <filename>  same as -f but user supplied filename
    -c <number>    number of snapshots
    -d      requests disk service and wait times (DISKSERV and DISKWAIT)
    -i <percent>   Ignore processes using less than this amount of CPU when generating TOP section – useful for reducing data volumes
    -g <filename> file containing disk group definitions
    -l <dpl>  number of hdisks per sheet - defaults to 150, maximum 250.  See notes
    -m <dir>    NMON changes to this directory before saving the file
    -r <runname>   goes into spreadsheet file [default hostname]
    -s <seconds>   interval between snap shots
    -x   capacity planning (15 mins for 1 day = -fdt -s900 -c96) 
     -t           include top processes in the output
    -T           as –t plus saves command line arguments in UARG section
    -A          include data for async I/O (PROCAIO) sections
    -D prevents DISK sections being produced (useful when Disk Groups are being used because there are too many hdisks to process)
    -E          stops ESS sections being produced (necessary when Disk Groups are being used because there are too many vpaths to process)
    -J  prevents JFS sections being produced (prevents Excel errors when you have more than 255 filesystems)
    -L includes LARGEPAGE section
    -N include NFS sections
    -S include WLM sections with subclasses
    -W include WLM sections without subclasses
    -Y include SUMMARY section (very efficient alternative to –t if PID level data is not required)

            example: nmon_aix51 -F asterix.nmon -r Test1 -s6 -c12

    posted @ 2009-02-19 20:24 IT進行時 閱讀(25161) | 評論 (4)編輯 收藏

    解決連接池泄漏步驟

    登錄weblogic console,  %Domain% -> Services -> JDBC -> Connection Pools -> jdbc/ioa

     

    Configuration -> Connection, 點開Advanced Options, 修改以下配置項狀態:

     

    配置項名稱

    默認值

    修改為

    說明

    Enable Connection Leak Profiling

    禁用

    啟用

    開啟連接池泄漏的監控。

    Enable Connection Profiling

    禁用

    啟用

    開啟連接池監控。

    Inactive Connection Timeout

    0

    100

    連接在指定時間內(單位:秒)沒有活動的話,WebLogic會將之釋放并回收到連接池。

     

        以上配置項修改后不影響在跑的應用,不需要重啟服務器或應用(配置項前沒有黃色小圖標 <!--[if !vml]--><!--[endif]-->WebLogic很明確的告訴我們這個配置是不需要重啟的),所以大可放心設置。只是啟用監控后會對性能有一些影響,具體影響會有多大,我沒有測試過,但開啟這些設置只是暫時的,得到日志后我們就可以把配置還原會默認值。

    在沒有解決連接池泄漏問題之前,如果沒有請求時連接池將一直保持為0,不會再有連接池滿造成請求無法響應的問題,我們也不用擔心再挨客戶罵,也為我們解決問題爭取了寶貴到時間。

     

           好了,下面才是關鍵。

     

           過一段時間后,在bea\user_projects\domains\%domainname%\%servername%目錄下,打開%servername%.log,查找,"A JDBC pool connection leak was detected",如果WebLogic已經監控到有連接池泄漏的話,就可以找到以下日志,并且很清楚的告訴我們在哪一個類的哪行代碼創建了連接,但沒有關閉(注意紅色加粗字體):


     

    2008-5-22 上午114720 CST       Warning     JDBC                A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. The following stack trace at create shows where the leaked connection was created. Stack trace at connection create:

           at weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:75)

           at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:254)

           at weblogic.jdbc.pool.Driver.connect(Driver.java:84)

           at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:546)

           at weblogic.jdbc.jts.Driver.connect(Driver.java:140)

           at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:344)

           at com.cp.fw.dao.BaseDAO.getConnection(BaseDAO.java:78)

           at com.cp.fw.dao.dataset.DataSetOp.init(DataSetOp.java:78)

           at com.cp.fw.dao.dataset.DataSetOp.<init>(DataSetOp.java:45)

           at com.cp.ia.util.WorkFlowUtil.getNextWrokFlowId(WorkFlowUtil.java:93)

           at

     

    ……

          

     

           另外一種方法:

    WebLogic Console,展開 %DomainName% -> Servers -> %ServerName%,選到Logging – Server頁,在頁面最下方點擊 "View server log",同樣查找 "A JDBC pool connection leak was detected",也可以找到同樣的日志。

     

    WebLogic對于日志事件的說明:

     

    Message ID

    BEA-001074

    Subsystem

    JDBC

    Message

    A JDBC pool connection leak was detected. A

    connection leak occurs when a connection obtained

    from the pool was not closed explicitly by calling

    close() and then was disposed by the garbage

    collector and returned to the connection pool. The

    following stack trace at create shows where the

    leaked connection was created.  Stack trace at

    connection create:

    Detail

    A JDBC pool connection leak was detected. A

    connection leak occurs when a connection obtained

    from the pool was not closed explicitly by calling

    close() and then was disposed by the garbage

    collector and returned to the connection pool. A

    stack trace is printed indicating where the leaked

    connection was created.

    Cause

    A JDBC pool connection leak was detected. A

    connection leak occurs when a connection obtained

    from the pool was not closed explicitly by calling

    close() and then was disposed by the garbage

    collector and returned to the connection pool. A

    stack trace is printed indicating where the leaked

    connection was created.

    Action

    Close the connection appropriately.



    原文:http://blog.csdn.net/esky2000/archive/2008/07/22/2689929.aspx
    posted @ 2008-11-13 00:41 IT進行時 閱讀(1952) | 評論 (0)編輯 收藏

     

    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進行時 閱讀(3437) | 評論 (3)編輯 收藏

    主站蜘蛛池模板: www.黄色免费网站| 少妇人妻偷人精品免费视频 | 亚洲片国产一区一级在线观看 | 日韩成人免费视频播放| 亚洲欧洲另类春色校园网站| 18女人水真多免费高清毛片| 久久亚洲美女精品国产精品 | 亚洲国产天堂久久综合网站| 性xxxx视频免费播放直播| 亚洲AV无码一区二区二三区入口| 国色精品va在线观看免费视频| 亚洲区小说区激情区图片区| 精品一卡2卡三卡4卡免费视频| 亚洲成色999久久网站| 久久99国产乱子伦精品免费| 精品亚洲成a人片在线观看少妇| 91精品免费不卡在线观看| 久久久久亚洲AV无码观看| 91久久成人免费| 亚洲午夜成激人情在线影院| 成人免费看吃奶视频网站| 亚洲a∨无码精品色午夜| 亚洲精品人成无码中文毛片 | 9420免费高清在线视频| 国产成人精品亚洲日本在线| 日本一区二区三区日本免费| 成人免费视频一区二区| 国产AV无码专区亚洲Av| 成人黄色免费网址| 国产亚洲美女精品久久| 亚洲精品无码专区久久久| 亚洲精品视频在线观看免费| 亚洲暴爽av人人爽日日碰| 亚洲人AV永久一区二区三区久久| 国产一级片免费看| 亚洲欧洲免费无码| 亚洲精品美女久久777777| 中文字幕无码播放免费| 免费在线人人电影网| 久久综合亚洲色HEZYO社区| 在线观看免费大黄网站|