wayne

          JMS (2)

          異步隊列消息的接收有一點區別,但發送的代碼不用改變:

           1@Stateless
           2public class JMSReceiveBean implements JMSReceiveRemote {
           3
           4    @Resource(name = "jms/Queue")
           5    private Queue queue;
           6    @Resource(name = "jms/ConnectionFactory")
           7    private ConnectionFactory queueFactory;
           8
           9    private void receiveJMSMessageFromQueue() throws Exception {
          10        Connection connection = null;
          11        Session session = null;
          12        connection = queueFactory.createConnection();
          13        session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE);
          14        MessageConsumer consumer = session.createConsumer(queue);
          15        consumer.setMessageListener(new MessageListener() {
          16
          17            public void onMessage(Message message) {
          18                TextMessage msg = (TextMessage) message;
          19                try {
          20                    String txt = msg.getText();
          21                    Logger.getLogger(JMSReceiveBean.class.getName()).log(Level.SEVERE, txt);
          22                }
           catch (Exception ex) {
          23                    ex.printStackTrace();
          24                }

          25            }

          26        }
          );
          27        
          28        connection.start();
          29    }

          30
          31    public void receiveMessage() {
          32        try {
          33            receiveJMSMessageFromQueue();
          34        }
           catch (Exception ex) {
          35            Logger.getLogger(JMSReceiveBean.class.getName()).log(Level.SEVERE, null, ex);
          36        }

          37    }

          38}

          在15行消息使用者上設置了一個消息監聽器,而沒有使用同步的receive方法。由于這是異步接收消息,程序并沒有處于阻塞狀態,為了避免在接收到消息之前連接終止,所以在28行之后并沒有關閉Connection,實際上這一步是不可缺少的。

          posted on 2008-09-14 16:40 waynemao 閱讀(115) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          default

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 凌源市| 城市| 株洲县| 柞水县| 新邵县| 嘉义市| 平阴县| 洛隆县| 云南省| 葵青区| 繁昌县| 稻城县| 井研县| 江永县| 连州市| 博罗县| 凤凰县| 霞浦县| 昔阳县| 斗六市| 边坝县| 丹江口市| 邹平县| 法库县| 涿鹿县| 夹江县| 连城县| 梓潼县| 连山| 巴塘县| 米林县| 界首市| 惠来县| 南郑县| 南开区| 永康市| 铜陵市| 正蓝旗| 勃利县| 连城县| 河北区|