<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、環(huán)境:
    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、監(jiān)控
    ActiveMQ5.0版本默認啟動時,啟動了內置的jetty服務器,提供一個demo應用和用于監(jiān)控ActiveMQ的admin應用。
    admin:http://127.0.0.1:8161/admin/
    demo:http://127.0.0.1:8161/demo/

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

    Java代碼 復制代碼
    1. import org.apache.activemq.ActiveMQConnection;   
    2. import org.apache.activemq.ActiveMQConnectionFactory;   
    3.   
    4. import javax.jms.*;   
    5.   
    6. /**  
    7. * 消息的生產者(發(fā)送者)  
    8. *  
    9. */  
    10. public class JmsSender {   
    11.         public static void main(String[] args) throws JMSException {   
    12.                 // ConnectionFactory :連接工廠,JMS 用它創(chuàng)建連接   
    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: 一個發(fā)送或接收消息的線程   
    21.                 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);   
    22.                 // Destination :消息的目的地;消息發(fā)送給誰.   
    23.                 // 獲取session注意參數(shù)值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.                 //發(fā)送一條消息   
    30.                 sendMsg(session, producer);   
    31.                 session.commit();   
    32.                 connection.close();   
    33.         }   
    34.   
    35.         /**  
    36.          * 在指定的會話上,通過指定的消息生產者發(fā)出一條消息  
    37.          *  
    38.          * @param session    消息會話  
    39.          * @param producer 消息生產者  
    40.          */  
    41.         public static void sendMsg(Session session, MessageProducer producer) throws JMSException {   
    42.                 //創(chuàng)建一條文本消息   
    43.                 TextMessage message = session.createTextMessage("Hello ActiveMQ!");   
    44.                 //通過消息生產者發(fā)出消息   
    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 用它創(chuàng)建連接   
    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: 一個發(fā)送或接收消息的線程   
    21.                 Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);   
    22.                 // Destination :消息的目的地;消息發(fā)送給誰.   
    23.                 // 獲取session注意參數(shù)值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,然后開始執(zhí)行:
    先運行發(fā)送者,連續(xù)運行了三次,最后一次控制臺輸出:


    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 大鳥 閱讀(1313) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 久久99精品免费一区二区| 亚洲国产精品综合一区在线| 亚洲一级在线观看| 在线成人爽a毛片免费软件| 亚洲国产精品成人精品无码区在线| 男性gay黄免费网站| 国产成人精品免费视频大全五级| 亚洲人成免费电影| 毛片免费观看视频| 亚洲久热无码av中文字幕| 成人毛片免费在线观看| 午夜亚洲国产理论片二级港台二级 | 国产精品久久亚洲一区二区| 免费亚洲视频在线观看| 人妻无码中文字幕免费视频蜜桃| 午夜亚洲av永久无码精品| 日韩毛片一区视频免费| 国产亚洲精品资在线| 麻豆精品成人免费国产片| 亚洲精品美女久久久久| 一个人看www在线高清免费看 | 国产高清不卡免费视频| 亚洲国产综合第一精品小说| 97人伦色伦成人免费视频| 粉色视频成年免费人15次| 亚洲男人的天堂www| 日本黄色动图免费在线观看| 亚洲无砖砖区免费| 四虎免费在线观看| 美女网站在线观看视频免费的| 亚洲欧洲日产国码无码久久99| 日韩精品极品视频在线观看免费 | 久久久久亚洲AV无码永不| 国产妇乱子伦视频免费| 国产精品亚洲lv粉色| 亚洲精品无码永久在线观看你懂的| 2021精品国产品免费观看| 国产成人亚洲精品蜜芽影院| 国产亚洲综合成人91精品| 性色av无码免费一区二区三区| japanese色国产在线看免费|