posts - 9, comments - 8, trackbacks - 0, articles - 3
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2007年2月7日

          作者 cctvx1
          ?關鍵字:ActiveMQ,實踐?

          ??? 一.安裝ActiveMQ

          ?????? 首先去http://activemq.apache.org/download.html 下載最新版本4.1.0release (http://activemq.apache.org/activemq-410-release.html),
          ??? 解壓apache-activemq-4.1-incubator.zip(或者apache-activemq-4.1-incubator.tar.gz)目錄如下:
          ??????
          ?????? +bin?????? (windows下面的bat和unix/linux下面的sh)
          ?????? +conf????? (activeMQ配置目錄,包含最基本的activeMQ配置文件)
          ?????? +data????? (默認是空的)
          ?????? +docs????? (index,replease版本里面沒有文檔,-.-b不知道為啥不帶)
          ?????? +example?? (幾個例子
          ?????? +lib?????? (activemMQ使用到的lib)
          ?????? -apache-activemq-4.1-incubator.jar? (ActiveMQ的binary)
          ?????? -LICENSE.txt??????
          ?????? -NOTICE.txt???????
          ?????? -README.txt
          ?????? -user-guide.html


          ?????? 你可以使用bin\activemq.bat(activemq) 啟動,如果一切順利,你就會看見類似下面的信息
          ????? (細節可能不一樣,比如路徑,或者jmx,jdbc信息)

          ? ACTIVEMQ_HOME: D:\java\framework_and_lib\activemq\apache-activemq-4.1-incubator\
          bin\..
          Loading message broker from: xbean:activemq.xml
          INFO? BrokerService????????????????? - ActiveMQ null JMS Message Broker (localho
          st) is starting
          INFO? BrokerService????????????????? - For help or more information please see:
          http://incubator.apache.org/activemq/
          INFO? ManagementContext????????????? - JMX consoles can connect to service:jmx:r
          mi:///jndi/rmi://localhost:1099/jmxrmi
          INFO? JDBCPersistenceAdapter???????? - Database driver recognized: [apache_derby
          _embedded_jdbc_driver]
          INFO? DefaultDatabaseLocker????????? - Attempting to acquire the exclusive lock
          to become the Master broker
          INFO? DefaultDatabaseLocker????????? - Becoming the master on dataSource: org.ap
          ache.derby.jdbc.EmbeddedDataSource@1d840cd
          INFO? JournalPersistenceAdapter????? - Journal Recovery Started from: Active Jou
          rnal: using 5 x 20.0 Megs at: D:\java\framework_and_lib\activemq\apache-activemq
          -4.1-incubator\activemq-data\journal
          INFO? JournalPersistenceAdapter????? - Journal Recovered: 0 message(s) in transa
          ctions recovered.
          INFO? TransportServerThreadSupport?? - Listening for connections at: tcp://P-SUW
          EI:61616
          WARN? MulticastDiscoveryAgent??????? - brokerName not set
          INFO? TransportConnector???????????? - Connector default Started
          INFO? TransportServerThreadSupport?? - Listening for connections at: stomp://P-S
          UWEI:61613
          INFO? TransportConnector???????????? - Connector stomp Started
          INFO? NetworkConnector?????????????? - Network Connector default Started
          INFO? BrokerService????????????????? - ActiveMQ JMS Message Broker (localhost, I
          D:P-SUWEI-1207-1170916242296-1:0) started?????

          ???????? *。幾個小提示
          ? 1. 這個僅僅是最基礎的ActiveMQ的配置,很多地方都沒有配置因此不要直接使用這個配置用于生產系統
          ? 2. 有的時候由于端口被占用,導致ActiveMQ錯誤,ActiveMQ可能需要以下端口1099(JMX),61616(默認的TransportConnector)
          ? 3. 如果沒有物理網卡,或者MS的LoopBackAdpater Multicast會報一個錯誤

          ???? 二. 測試你的ActiveMQ
          ???????
          ????????? 由于ActiveMQ是一個獨立的jms provider,所以我們不需要其他任何第三方服務器就可以馬上做我們的測試了.編譯
          ???? example目錄下面的程序
          ?????????
          ?? ProducerTool/ConsumerTool 是JMS參考里面提到的典型應用,Producer產生消息,Consumer消費消息
          ?? 而且這個例子還可以加入參數幫助你測試剛才啟動的本地ActiveMQ或者是遠程的ActiveMQ

          ?? ProducerTool [url] broker的地址,默認的是tcp://localhost:61616
          ??????????????? [true|flase] 是否使用topic,默認是false
          ???????? [subject] subject的名字,默認是TOOL.DEFAULT
          ???????? [durabl] 是否持久化消息,默認是false
          ???????? [messagecount] 發送消息數量,默認是10
          ???????? [messagesize] 消息長度,默認是255
          ???????? [clientID] durable為true的時候,需要配置clientID
          ???????? [timeToLive] 消息存活時間
          ???????? [sleepTime] 發送消息中間的休眠時間
          ???????? [transacte]? 是否采用事務

          ?????????
          ????????? ConsumerTool [url] broker的地址,默認的是tcp://localhost:61616
          ??????????????? [true|flase] 是否使用topic,默認是false
          ???????? [subject] subject的名字,默認是TOOL.DEFAULT
          ???????? [durabl] 是否持久化消息,默認是false
          ???????? [maxiumMessages] 接受最大消息數量,0表示不限制
          ???????
          ???????? [clientID] durable為true的時候,需要配置clientID
          ????????
          ???????? [transacte]? 是否采用事務
          ???????? [sleepTime]? 接受消息中間的休眠時間,默認是0,onMeesage方法不休眠
          ???????? [receiveTimeOut] 接受超時

          ????????? 我們這樣可以使用:
          ?? java -classpath .\apache-activemq-4.1-incubator.jar;example\bin ProducerTool? tcp://192.168.3.142:61616 test.mysubject
          ?? java -classpath .\apache-activemq-4.1-incubator.jar;example\bin ConsumerTool? tcp://192.168.3.142:61616 test.mysubject

          ?? 當然你可以使用上面的參數進行更復雜的測試,持久,事務

          ?? 如果出現下面的信息,恭喜你,你的ActiveMQ已經能夠工作了
          ????????
          ? Connecting to URL: tcp://192.168.3.142:61616
          ? Publishing a Message with size 255 to queue: TOOL.DEFAULT
          ? Using non-durable publishing
          ? Sleeping between publish 0 ms
          ? Sending message: Message: 0 sent at: Thu Feb 08 15:05:34 CST 2007? ...
          ? Sending message: Message: 1 sent at: Thu Feb 08 15:05:34 CST 2007? ...
          ???????? 。。。。。。。。


          ? Connecting to URL: tcp://192.168.3.142:61616
          ? Consuming queue: test.mysubject
          ???????? Using non-durable subscription
          ???????? Received: Message: 0 sent at: Thu Feb 08 14:51:34 CST 2007? ...
          ???????? Received: Message: 1 sent at: Thu Feb 08 14:51:34 CST 2007? ...
          ? 。。。。


          ???????? 三.小結
          ?????
          ????? 我們已經下載,啟動,并且用程序測試了我們的ActiveMQ,而后面將在這個能跑得ActiveMQ進一步的走下去,一步一步展示ActiveMQ的高級特性。

          posted @ 2007-02-08 17:54 Dr.Water 閱讀(11274) | 評論 (2)編輯 收藏

          ?? 作者cctvx1
          ?? 關鍵字:ActiveMQ,實踐
          ???
          ?? 一.ActiveMQ是什么??
          ????? ActiveMQ is the most popular and powerful open source Message Bus.
          ???????????????????????????????????????????????? 引用ActiveMQ官方網站

          ???? ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規范的 JMS Provider實現,盡管JMS規范出臺
          已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。
          ??? 下面是它的特性列表 (詳細的特性清單請參考http://activemq.apache.org/features.html)
          ?? ?1.多種語言和協議編寫客戶端
          ?? ??語言: Java, C, C++, C#, Ruby, Perl, Python, PHP
          ????? ??應用協議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
          ?? ?2.完全支持JMS1.1和J2EE 1.4規范? (持久化,XA消息,事務)
          ?? ?3.對Spring的支持,ActiveMQ可以很容得內嵌到使用Spring的系統里面去,而且也支持Spring2.0的特性
          ?????? 4.通過了常見J2EE服務器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中通過JCA 1.5 resource adaptors的配置,
          ????? 可以讓ActiveMQ可以自動的部署到任何兼容J2EE 1.4 商業服務器上
          ?????? 5.支持多種傳送協議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
          ?????? 6.支持通過JDBC和journal提供高速的消息持久化
          ?????? 7.從設計上保證了高性能的集群,客戶端-服務器,點對點
          ?????? 8.支持Ajax
          ?????? 9.支持與Axis的整合
          ?????? 10.可以很容易得調用內嵌JMS provider,進行測試
          ??????
          ???? 二.ActiveMQ的競爭者???
          ???????
          ??????? 1.其他開源 JMS provider(資料來自 java-source.net) :
          ??????? jbossmq(jboss 4)
          ??????? jboss messaging (jboss 5)
          ??????? joram-4.3.21? 2006-09-22
          ??????? openjms-0.7.7-alpha-3.zip December 26, 2005
          ??????? mantamq 官網暫時無法訪問
          ??????? ubermq? 官網暫時無法訪問
          ??????? SomnifugiJMS? 2005-7-27
          ?????????? 開源的JMS Provider大部分都已經停止發展了,剩下的幾個都是找到了東家,和某種J2EE 服務器掛鉤,
          ??????? 比如jboss mq 與jboss,joram與jonas(objectweb組織),ActiveMQ 與Geronimo(ASF APACHE基金組織),
          ??????? 而在這3個之間,從網絡底層來看,只有ActiveMQ使用了NIO,單從這個角度來看ActiveMQ在性能上會有
          ??????? 一定的優勢??????

          ??????? 2.商業JMS provider
          ??????? IBM WebSphere MQ
          ??????? BEA WebLogic JMS
          ??????? Oracle AQ
          ??????? NonStop Server for Java Message Service(JMS)
          ??????? Sun Java System Message Queue
          ??????? Sonic jms
          ??????? TIBCO Enterprise For JMS
          ??????? iLinkMQ (國內)
          ?????????? 現在的商業J2EE 應用服務器大部分都會有JMS Provider的實現,畢竟應用服務器都已經花費不薄,也不在乎
          ??????? 在里面送一個JMS Provider了,當然還是有獨立的比如IBM WebSphere MQ,Sonic JMS ,前者肯定是商用MQ
          ?????? (這個概念不僅僅是JMS Provier了,只能說JMS 只是它提供的一個應用)中間的巨無霸了。
          ???????
          ???????? 從這點來看,ActiveMQ明顯的競爭者并不多,因為它是作為獨立的開源JMS Provider出現的,很容易被用于多種結構設計中,
          ??????? 使用ActiveMQ作為默認JMS Provider的開源項目有ServiceMix,Geronimo.
          ?
          ?????????????????????????????????????????????????????????????????????????????????????????????? (待續)
          ??????? P.S
          ??????????? Monday, February 5, 2007
          ????? Apache ActiveMQ graduates from the incubator?
          ????? Apache ActiveMQ has now graduated to become a top level project (TLP) at Apache! Its new site is now hosted at http://activemq.apache.org/. Many thanks to all those in the Incubator and ActiveMQ communities for making this happen!

          posted @ 2007-02-07 00:36 Dr.Water 閱讀(4619) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 花莲市| 朝阳县| 普格县| 手机| 延长县| 新郑市| 应城市| 张家口市| 龙山县| 富阳市| 榆中县| 饶阳县| 河曲县| 宁化县| 华坪县| 康定县| 云阳县| 蒲城县| 古蔺县| 惠东县| 宣城市| 永安市| 龙井市| 平舆县| 襄垣县| 盐山县| 萨迦县| 德保县| 汨罗市| 博客| 桃源县| 郎溪县| 江孜县| 濉溪县| 尼玛县| 原平市| 唐河县| 保靖县| 当雄县| 房山区| 黄骅市|