读书人

Message Driven Bean 学习简明

发布时间: 2012-12-21 12:03:49 作者: rapoo

Message Driven Bean 学习简要
发送端:
@Stateless
@Local
public class QueueSend implements IQueueSend
{

@Resource(mappedName = "jms/ConnectionFactory")
private ConnectionFactory connectionFactory;

@Resource(mappedName = "jms/RequestQueue")
private Queue requestQueue;


public void sendNotificationForInline(ReportInstance ri) {
Connection connection = null;
try {
connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination dest = (Destination) requestQueue;
MessageProducer messageProducer = session.createProducer(dest);
MapMessage message = session.createMapMessage();
message.setLong("reportInstId", ri.getId());
messageProducer.send(message);
} catch (Exception ex) {

} finally {
if (connection != null) {
try {
connection.close();
} catch (Throwable t) {
}
}
}
}

}


接收端:
@MessageDriven(mappedName = "jms/RequestQueue")
public class NotificationProcesser implements MessageListener {

public void onMessage(Message message) {
if(message instanceof MapMessage)
{
//处理message
}
}
}


Queue:点对点的消息队列,1个消息产生1个对应 1:1
Topic:采取发布/订阅机制的消息主题,1个消息产生多个对应 1:N

读书人网 >编程

热点推荐