一个JMS程序的实现大概包括以下几个步骤:
A.创建一个ConnectionFactory对象;
例:
ConnectionFactory connectionFactory;
connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.0.214:61616");
B.创建一个或多个Destination对象;
例:
Queue queue = new ActiveMQQueue("q");
Topic topic = new ActiveMQTopic("t");
C.使用ConnectionFactory来创建一个具有消息转发约束的JMS Connection;
例:
Connection connection = connectionFactory.createConnection();
connection.start();
D.使用Connection来创建一个或多个JMS Session;
例:
Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
E.使用Session和Destination来创建需要的MessageProducer和MessageConsumer;
例:
//创建消息生产者
MessageProducer producer = session.createProducer(queue);
F.创建消息,例如下面创建一个Map消息
例:
/**
* 创建map消息
*/
MapMessage mapMessage = session.createMapMessage();
mapMessage.setString("Name","Daizi");
mapMessage.setDouble("Value",1234);
mapMessage.setLong("Time",new Date().getTime());
G.开始发送消息。
例:
//开始发送消息
producer.send(mapMessage);
/**
* 接收消息
* 当消费者返回信息是,这里有作为消费者了
*/
<!--EndFragment--> MessageConsumer consumer2 = session.createConsumer(topic); consumer2.setMessageListener(new MessageListener(){ public void onMessage(Message message) { try { System.out.println(((TextMessage)message).getText()); } catch (JMSException e) { e.printStackTrace(); } } });
当然这个步骤不是钉死的!