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

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

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

    大鳥的學習樂園
    路漫漫其修遠兮,吾將上下而求索
    posts - 26,comments - 27,trackbacks - 0
    1、環境:
    Windows XP
    apache-activemq-5.2.0-bin.zip
     
    2、安裝
    解壓縮到apache-activemq-5.2.0-bin.zip到一個目錄,比如C:\apache-activemq-5.2.0
     
    3、配置
    配置就在C:\apache-activemq-5.2.0\conf目錄下三個文件
    activemq.xml
    credentials.properties
    log4j.properties
     
    4、啟動ActiveMQ
    運行C:\apache-activemq-5.2.0\bin\activemq.bat
    5、測試
    ActiveMQ默認使用的TCP連接端口是61616, 通過查看該端口的信息可以測試ActiveMQ是否成功啟動 netstat -an|find "61616"

    C:\Documents and Settings\Administrator>netstat -an|find "61616"
        TCP        0.0.0.0:61616                    0.0.0.0:0                            LISTENING
    6、監控
    ActiveMQ5.0版本默認啟動時,啟動了內置的jetty服務器,提供一個demo應用和用于監控ActiveMQ的admin應用。
    admin:http://127.0.0.1:8161/admin/
    demo:http://127.0.0.1:8161/demo/

    下面是ActiveMQ5.2的一個最簡單例子!
    環境還是apache-activemq-5.2.0-bin.zip,需要注意的是,開發時候,要將apache-activemq- 5.2.0-bin.zip解壓縮后里面的activemq-all-5.2.0.jar包加入到classpath下面,這個包包含了所有jms接口 api的實現。

    Java代碼 復制代碼
    1. import org.apache.activemq.ActiveMQConnection;   
    2. import org.apache.activemq.ActiveMQConnectionFactory;   
    3.   
    4. import javax.jms.*;   
    5.   
    6. /**  
    7. * 消息的生產者(發送者)  
    8. *  
    9. */  
    10. public class JmsSender {   
    11.         public static void main(String[] args) throws JMSException {   
    12.                 // ConnectionFactory :連接工廠,JMS 用它創建連接   
    13.                 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(   
    14.                                 ActiveMQConnection.DEFAULT_USER,   
    15.                                 ActiveMQConnection.DEFAULT_PASSWORD,   
    16.                                 "tcp://192.168.14.117:61616");   
    17.                 //JMS 客戶端到JMS Provider 的連接   
    18.                 Connection connection = connectionFactory.createConnection();   
    19.                 connection.start();   
    20.                 // Session: 一個發送或接收消息的線程   
    21.                 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);   
    22.                 // Destination :消息的目的地;消息發送給誰.   
    23.                 // 獲取session注意參數值my-queue是Query的名字   
    24.                 Destination destination = session.createQueue("my-queue");   
    25.                 // MessageProducer:消息生產者   
    26.                 MessageProducer producer = session.createProducer(destination);   
    27.                 //設置不持久化   
    28.                 producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);   
    29.                 //發送一條消息   
    30.                 sendMsg(session, producer);   
    31.                 session.commit();   
    32.                 connection.close();   
    33.         }   
    34.   
    35.         /**  
    36.          * 在指定的會話上,通過指定的消息生產者發出一條消息  
    37.          *  
    38.          * @param session    消息會話  
    39.          * @param producer 消息生產者  
    40.          */  
    41.         public static void sendMsg(Session session, MessageProducer producer) throws JMSException {   
    42.                 //創建一條文本消息   
    43.                 TextMessage message = session.createTextMessage("Hello ActiveMQ!");   
    44.                 //通過消息生產者發出消息   
    45.                 producer.send(message);   
    46.                 System.out.println("");   
    47.         }   
    48. }  
     
    Java代碼 復制代碼
    1. import org.apache.activemq.ActiveMQConnection;   
    2. import org.apache.activemq.ActiveMQConnectionFactory;   
    3.   
    4. import javax.jms.*;   
    5.   
    6. /**  
    7. * 消息的消費者(接受者)  
    8. *  
    9. */  
    10. public class JmsReceiver {   
    11.         public static void main(String[] args) throws JMSException {   
    12.                 // ConnectionFactory :連接工廠,JMS 用它創建連接   
    13.                 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(   
    14.                                 ActiveMQConnection.DEFAULT_USER,   
    15.                                 ActiveMQConnection.DEFAULT_PASSWORD,   
    16.                                 "tcp://192.168.14.117:61616");   
    17.                 //JMS 客戶端到JMS Provider 的連接   
    18.                 Connection connection = connectionFactory.createConnection();   
    19.                 connection.start();   
    20.                 // Session: 一個發送或接收消息的線程   
    21.                 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);   
    22.                 // Destination :消息的目的地;消息發送給誰.   
    23.                 // 獲取session注意參數值xingbo.xu-queue是一個服務器的queue,須在在ActiveMq的console配置   
    24.                 Destination destination = session.createQueue("my-queue");   
    25.                 // 消費者,消息接收者   
    26.                 MessageConsumer consumer = session.createConsumer(destination);   
    27.                 while (true) {   
    28.                         TextMessage message = (TextMessage) consumer.receive(1000);   
    29.                         if (null != message)   
    30.                                 System.out.println("收到消息:" + message.getText());   
    31.                         else  
    32.                                 break;   
    33.                 }   
    34.                 session.close();   
    35.                 connection.close();   
    36.         }   
    37. }  
     
    啟動ActiveMQ,然后開始執行:
    先運行發送者,連續運行了三次,最后一次控制臺輸出:


    Process finished with exit code 0
     
    后運行接受者,輸出結果:
    收到消息Hello ActiveMQ!
    收到消息Hello ActiveMQ!
    收到消息Hello ActiveMQ!

    Process finished with exit code 0
     
    注意:
    其中的端口61616是ActiveMQ默認的配置,在activemq.xml中,

    Xml代碼 復制代碼
    1. <!-- The transport connectors ActiveMQ will listen to -->  
    2.              <transportConnectors>  
    3.                      <transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/>  
    4.                      <transportConnector name="ssl" uri="ssl://localhost:61617"/>  
    5.                      <transportConnector name="stomp" uri="stomp://localhost:61613"/>  
    6.                      <transportConnector name="xmpp" uri="xmpp://localhost:61222"/>  
    7.              </transportConnectors>   
     
    ,建議不要改動,都用這個端口多好,就像ftp都用21端口,也沒錯。
     
     
    這是官方的HelloWorld例子,不過看著不順眼:
    http://activemq.apache.org/hello-world.html

    posted on 2009-09-16 13:00 大鳥 閱讀(1304) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 亚洲日韩中文字幕日韩在线| 好吊妞视频免费视频| 亚洲人成人网站在线观看| 久久精品国产亚洲AV天海翼| 成年18网站免费视频网站| 亚洲日本一线产区和二线产区对比| 亚洲成年人免费网站| 亚洲w码欧洲s码免费| 久久久亚洲精品蜜桃臀| 黄色a三级三级三级免费看| 国产成人免费视频| 亚洲av无码一区二区三区网站| 亚洲日韩中文字幕一区| 成年人在线免费观看| 亚洲AV无码一区二区三区鸳鸯影院| 国产精品成人无码免费| 一级做a爰片久久毛片免费陪 | 国产成人无码区免费内射一片色欲| 日韩免费a级毛片无码a∨| 亚洲色中文字幕无码AV| 99视频精品全部免费观看| 亚洲日本国产精华液| 午夜时刻免费入口| 无码免费又爽又高潮喷水的视频 | 男的把j放进女人下面视频免费| 亚洲视频一区在线播放| 成人最新午夜免费视频| 日日躁狠狠躁狠狠爱免费视频 | 亚洲一级毛片免费在线观看| 全免费a级毛片免费看无码| 亚洲欧洲另类春色校园网站| 99爱在线精品视频免费观看9| 亚洲导航深夜福利| 日韩人妻无码免费视频一区二区三区 | 国产高清免费的视频| 成在线人视频免费视频| 亚洲国产高清精品线久久| 国产一级在线免费观看| 亚洲婷婷综合色高清在线| 免费一级毛片一级毛片aa| 可以免费观看的国产视频|