现在的位置: 首页 > 综合 > 正文

ActiveMQ 实践之路(一) 启动你的ActiveMQ

2018年08月11日 ⁄ 综合 ⁄ 共 4326字 ⁄ 字号 评论关闭

一.安装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的高
级特性

抱歉!评论已关闭.