小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

深入掌握JMS(二):一個JMS例子

 moonboat 2009-07-12

深入掌握JMS(二):一個JMS例子

        前一講簡單的介紹了一下JMS的基本概念, 這一講結(jié)合一個例子讓大家深入理解前一講的基本概念. 首先需要做的是選擇一個JMS提供者, 如果在JavaEE環(huán)境中可以不用考慮這些. 我們選擇ActiveMQ, 官方地址: http://activemq./. 網(wǎng)上有很多介紹ActiveMQ的文檔, 所以在這里就不介紹了.

按照上一講的這個簡圖,

  ConnectionFactory---->Connection--->Session--->Message
  Destination + Session------------------------------------>Producer
  Destination + Session------------------------------------>MessageConsumer

首先需要得到ConnectionFactoy和Destination,這里創(chuàng)建一個一對一的Queue作為Destination。
  ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
  Queue queue = new ActiveMQQueue("testQueue");

然后又ConnectionFactory創(chuàng)建一個Connection, 再啟動這個Connection:
  Connection connection = factory.createConnection();
  connection.start();

接下來需要由Connection創(chuàng)建一個Session:
  Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
    現(xiàn)在暫且不用管參數(shù)的含義, 以后會詳細講到.

下面就可以創(chuàng)建Message了,這里創(chuàng)建一個TextMessage。
  Message message = session.createTextMessage("Hello JMS!");

要想把剛才創(chuàng)建的消息發(fā)送出去,需要由Session和Destination創(chuàng)建一個消息生產(chǎn)者:
  MessageProducer producer = session.createProducer(queue);

下面就可以發(fā)送剛才創(chuàng)建的消息了:
  producer.send(message);

消息發(fā)送完成之后,我們需要創(chuàng)建一個消息消費者來接收這個消息:
  MessageConsumer comsumer = session.createConsumer(queue);
  Message recvMessage = comsumer.receive();

消息消費者接收到這個消息之后,就可以得到它的內(nèi)容:
  System.out.println(((TextMessage)recvMessage).getText());

至此,一個簡單的JMS例子就完成了。下面是全部源碼

import javax.jms.Connection;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

public class MessageSendAndReceive {

    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
   
        Connection connection = factory.createConnection();
        connection.start();
       
        Queue queue = new ActiveMQQueue("testQueue");
       
        final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Message message = session.createTextMessage("Hello JMS!");
       
        MessageProducer producer = session.createProducer(queue);
        producer.send(message);
   
        System.out.println("Send Message Completed!");
       
        MessageConsumer comsumer = session.createConsumer(queue);
        Message recvMessage = comsumer.receive();
        System.out.println(((TextMessage)recvMessage).getText());
    }

}

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多