<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无码成人黄网站在线观看| 三年片在线观看免费大全| 天堂亚洲免费视频| 亚洲人成网亚洲欧洲无码| 最近免费中文字幕4| 亚洲熟妇AV一区二区三区宅男| 中文字幕无码免费久久99| 亚洲日本va在线观看| 免费毛片a在线观看67194| 亚洲中文无码av永久| 在线观看免费宅男视频| 亚洲永久网址在线观看| 精品国产免费观看| 国产精品亚洲综合网站| 免费夜色污私人影院在线观看| 视频一区二区三区免费观看| 久久精品国产亚洲Aⅴ香蕉 | 97久久国产亚洲精品超碰热| 很黄很色很刺激的视频免费| 亚洲熟妇AV一区二区三区宅男| 可以免费观看一级毛片黄a| 性生大片视频免费观看一级| 亚洲夜夜欢A∨一区二区三区 | 日本亚洲视频在线| 成人免费的性色视频| 亚洲av最新在线观看网址| 亚洲色图综合在线| 亚洲精品免费视频| 亚洲精品av无码喷奶水糖心| 亚洲人成影院在线观看| 无码成A毛片免费| 亚洲精品精华液一区二区| 亚洲欧洲日产国码一级毛片| 色欲国产麻豆一精品一AV一免费| 亚洲天然素人无码专区| 国产亚洲精品高清在线| 57PAO成人国产永久免费视频| 青娱乐在线视频免费观看| 亚洲狠狠久久综合一区77777| 免费的一级片网站| 嫩草影院在线播放www免费观看|