<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 大鳥 閱讀(1305) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 亚洲国产成人精品无码久久久久久综合 | a毛片全部免费播放| 在线看片v免费观看视频777| 亚洲永久精品ww47| 中文在线免费看视频| 国产啪亚洲国产精品无码| kk4kk免费视频毛片| 337p日本欧洲亚洲大胆裸体艺术| 精品一区二区三区免费视频| 亚洲一区精品无码| 成人A片产无码免费视频在线观看| 亚洲M码 欧洲S码SSS222| 免费无毒a网站在线观看| 成人免费无码大片a毛片| 国产一二三四区乱码免费| 国产又大又粗又硬又长免费| ww在线观视频免费观看| 国产成人A人亚洲精品无码| fc2成年免费共享视频网站| AV在线播放日韩亚洲欧| 久香草视频在线观看免费| 日本阿v免费费视频完整版| 亚洲国产一成人久久精品| 美女裸免费观看网站| 啊灬啊灬别停啊灬用力啊免费看| 日本亚洲中午字幕乱码 | 亚洲人成电影网站| 亚洲乱码日产精品一二三| 久久不见久久见免费影院| 亚洲va在线va天堂成人| 女人毛片a级大学毛片免费| mm1313亚洲国产精品美女| 免费一级全黄少妇性色生活片 | 女人18毛片特级一级免费视频| 亚洲Av无码国产一区二区| 四虎免费在线观看| 激情综合亚洲色婷婷五月| 成人毛片免费视频| 美女视频黄a视频全免费网站色 | 性感美女视频免费网站午夜 | 免费大片av手机看片|