WEB开发网
开发学院软件开发Java 利用 WAS CE v2.1 创建基于 JMS 的应用 阅读

利用 WAS CE v2.1 创建基于 JMS 的应用

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 从代码中可见,MDB 继承了 java.jms.MessageListeneron 接口,利用 WAS CE v2.1 创建基于 JMS 的应用(8),并在 onMessage() 方法中接收并处理消息,当有消息到达时,因此,需要在 ShopStorage 中添加相应代码,MDB 的 onMes

从代码中可见,MDB 继承了 java.jms.MessageListeneron 接口,并在 onMessage() 方法中接收并处理消息。当有消息到达时,MDB 的 onMessage() 方法会被自动执行,参数 message 就是所接收到的消息。通过 @MessageDriven 及 @ActivationConfigProperty 对 JMS 资源引用,指定了该 MDB 可以接收的消息来源。ShopAccountant 与 ShopStorage 都只接收 OrderTopic 中传递的消息。

点对点消息

发送消息

示例中,仓库完成提货后需要通知运输部门。因此,需要在 ShopStorage 中添加相应代码,以完成发送消息的动作。

以下是 ShopStorage 中添加的代码:


清单 9. ShopStorage.java
public class ShopStorage implements MessageListener { 
     @Resource(name = "OrderConnectionFactory") 
     private ConnectionFactory factory; 
     @Resource(name = "OrderQueue") 
     private Queue orderQueue; 
     public void onMessage(Message message) { 
      TextMessage textMessage = (TextMessage) message; 
      try { 
       ...... 
       Connection connection; 
       connection = factory.createConnection(); 
       Session sess = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
       TextMessage msg = sess.createTextMessage(); 
       msg.setStringProperty("CustomerId", customerId); 
       msg.setStringProperty("GoodsId", goodsId); 
       MessageProducer messageProducer = sess.createProducer(orderQueue); 
       messageProducer.send(msg); 
       System.out.println("ShopStorage: get ready to deliver goods."); 
       } catch (JMSException e) { 
          e.printStackTrace(); 
       } 
     } 
} 

上一页  3 4 5 6 7 8 9  下一页

Tags:利用 WAS CE

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接