程度: 入門(mén)
一.安裝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 (默認(rèn)是空的)
+docs (index,replease版本里面沒(méi)有文檔,-.-b不知道為啥不帶)
+example (幾個(gè)例子
+lib (activemMQ使用到的lib)
-apache-activemq-4.1-incubator.jar (ActiveMQ的binary)
-LICENSE.txt
-NOTICE.txt
-README.txt
-user-guide.html
你可以使用bin\activemq.bat(activemq) 啟動(dòng),如果一切順利,你就會(huì)看見(jiàn)類(lèi)似下面的信息
(細(xì)節(jié)可能不一樣,比如路徑,或者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
*。幾個(gè)小提示
1. 這個(gè)僅僅是最基礎(chǔ)的ActiveMQ的配置,很多地方都沒(méi)有配置因此不要直接使用這個(gè)配置用于生產(chǎn)系統(tǒng)
2. 有的時(shí)候由于端口被占用,導(dǎo)致ActiveMQ錯(cuò)誤,ActiveMQ可能需要以下端口1099(JMX),61616(默認(rèn)的TransportConnector)
3. 如果沒(méi)有物理網(wǎng)卡,或者M(jìn)S的LoopBackAdpater Multicast會(huì)報(bào)一個(gè)錯(cuò)誤
二. 測(cè)試你的ActiveMQ
由于ActiveMQ是一個(gè)獨(dú)立的jms provider,所以我們不需要其他任何第三方服務(wù)器就可以馬上做我們的測(cè)試了.編譯
example目錄下面的程序
ProducerTool/ConsumerTool 是JMS參考里面提到的典型應(yīng)用,Producer產(chǎn)生消息,Consumer消費(fèi)消息
而且這個(gè)例子還可以加入?yún)?shù)幫助你測(cè)試剛才啟動(dòng)的本地ActiveMQ或者是遠(yuǎn)程的ActiveMQ
ProducerTool [url] broker的地址,默認(rèn)的是tcp://localhost:61616
[true|flase] 是否使用topic,默認(rèn)是false
[subject] subject的名字,默認(rèn)是TOOL.DEFAULT
[durabl] 是否持久化消息,默認(rèn)是false
[messagecount] 發(fā)送消息數(shù)量,默認(rèn)是10
[messagesize] 消息長(zhǎng)度,默認(rèn)是255
[clientID] durable為true的時(shí)候,需要配置clientID
[timeToLive] 消息存活時(shí)間
[sleepTime] 發(fā)送消息中間的休眠時(shí)間
[transacte] 是否采用事務(wù)
ConsumerTool [url] broker的地址,默認(rèn)的是tcp://localhost:61616
[true|flase] 是否使用topic,默認(rèn)是false
[subject] subject的名字,默認(rèn)是TOOL.DEFAULT
[durabl] 是否持久化消息,默認(rèn)是false
[maxiumMessages] 接受最大消息數(shù)量,0表示不限制
[clientID] durable為true的時(shí)候,需要配置clientID
[transacte] 是否采用事務(wù)
[sleepTime] 接受消息中間的休眠時(shí)間,默認(rèn)是0,onMeesage方法不休眠
[receiveTimeOut] 接受超時(shí)
我們這樣可以使用:
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
當(dāng)然你可以使用上面的參數(shù)進(jìn)行更復(fù)雜的測(cè)試,持久,事務(wù)
如果出現(xiàn)下面的信息,恭喜你,你的ActiveMQ已經(jīng)能夠工作了
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 ...
。。。。
三.小結(jié)
我們已經(jīng)下載,啟動(dòng),并且用程序測(cè)試了我們的ActiveMQ,而后面將在這個(gè)能跑得ActiveMQ進(jìn)一步的走下去,一步一步展示ActiveMQ的高級(jí)特性。