首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Message Driven Bean 学习简明

2012-12-21 
Message Driven Bean 学习简要发送端:@Stateless@Localpublic class QueueSend implements IQueueSend {@R

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

热点排行