wayne

          JMS (2)

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

           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行消息使用者上設(shè)置了一個消息監(jiān)聽器,而沒有使用同步的receive方法。由于這是異步接收消息,程序并沒有處于阻塞狀態(tài),為了避免在接收到消息之前連接終止,所以在28行之后并沒有關(guān)閉Connection,實際上這一步是不可缺少的。

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


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


          網(wǎng)站導(dǎo)航:
           

          My Links

          Blog Stats

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          default

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麟游县| 宾川县| 革吉县| 六枝特区| 哈巴河县| 北川| 藁城市| 竹北市| 漯河市| 孝感市| 闽侯县| 阳谷县| 岳普湖县| 南江县| 和田县| 汉中市| 仁布县| 余庆县| 剑河县| 梅州市| 西安市| 卫辉市| 汪清县| 麦盖提县| 西华县| 新田县| 曲周县| 汶川县| 泽州县| 龙州县| 克山县| 万州区| 兴城市| 隆安县| 凤山市| 西青区| 沈阳市| 松原市| 阳信县| 会昌县| 仁怀市|