<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    厚積而薄發(fā)

    山不辭土,故能成其高;海不辭水,故能成其深!
    posts - 15, comments - 0, trackbacks - 0, articles - 1
    在下面的例子中,分別發(fā)送一個Persistent和nonpersistent的消息,然后關(guān)閉退出JMS。

    import javax.jms.Connection;
    import javax.jms.DeliveryMode;
    import javax.jms.MessageProducer;
    import javax.jms.Queue;
    import javax.jms.Session;
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.command.ActiveMQQueue;

    public class DeliveryModeSendTest {

        public static void main(String[] args) throws Exception {
            ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
       
            Connection connection = factory.createConnection();
            connection.start();
           
            Queue queue = new ActiveMQQueue("testQueue");
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
                   
            MessageProducer producer = session.createProducer(queue);
            producer.setDeliveryMode(DeliveryMode.PERSISTENT);
            producer.send(session.createTextMessage("A persistent Message"));
           
            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
            producer.send(session.createTextMessage("A non persistent Message"));
           
            System.out.println("Send messages sucessfully!");
        }
    }

        運(yùn)行上面的程序,當(dāng)輸出“Send messages sucessfully!”時,說明兩個消息都已經(jīng)發(fā)送成功,然后我們結(jié)束它,來停止JMS Provider。

        接下來我們重新啟動JMS Provicer,然后添加一個消費(fèi)者:

    import javax.jms.Connection;
    import javax.jms.JMSException;
    import javax.jms.Message;
    import javax.jms.MessageConsumer;
    import javax.jms.MessageListener;
    import javax.jms.Queue;
    import javax.jms.Session;
    import javax.jms.TextMessage;
    import org.apache.activemq.ActiveMQConnectionFactory;
    import org.apache.activemq.command.ActiveMQQueue;

    public class DeliveryModeReceiveTest {

        public static void main(String[] args) throws Exception {
            ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
       
            Connection connection = factory.createConnection();
            connection.start();
           
            Queue queue = new ActiveMQQueue("testQueue");
            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
           
            MessageConsumer comsumer = session.createConsumer(queue);
            comsumer.setMessageListener(new MessageListener(){
                public void onMessage(Message m) {
                    try {
                        System.out.println("Consumer get " + ((TextMessage)m).getText());
                    } catch (JMSException e) {
                        e.printStackTrace();
                    }
                }
            });
        }
    }

    運(yùn)行上面的程序,可以得到下面的輸出結(jié)果:

    Consumer get A persistent Message

    可以看出消息消費(fèi)者只接收到一個消息,它是一個Persistent的消息。而剛才發(fā)送的non persistent消息已經(jīng)丟失了。

    另外, 如果發(fā)送一個non persistent消息, 而剛好這個時候沒有消費(fèi)者在監(jiān)聽, 這個消息也會丟失.

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久国产亚洲精品麻豆| 免费可以在线看A∨网站| 亚洲国产中文字幕在线观看| 亚洲欧洲无码一区二区三区| 好男人www免费高清视频在线| 亚洲中文字幕久在线| 57PAO成人国产永久免费视频| 亚洲成a人片在线观看中文!!!| 日本免费一区二区三区 | 亚洲尹人九九大色香蕉网站 | 亚洲精品中文字幕无码AV| 午夜免费福利小电影| 久久精品国产亚洲AV嫖农村妇女| 24小时日本电影免费看| 亚洲videos| 永久黄网站色视频免费直播| 亚洲aⅴ无码专区在线观看| 日韩在线a视频免费播放| 国产亚洲视频在线播放大全| 亚洲欧洲日产国码一级毛片| 久久免费精品视频| 亚洲av无码国产综合专区| 日韩午夜免费视频| 成年女人A毛片免费视频| 亚洲国产三级在线观看| 真人做A免费观看| 国产精品亚洲专区无码WEB| 亚洲午夜AV无码专区在线播放| 国产精品1024在线永久免费| 久久亚洲AV成人无码电影| 最新仑乱免费视频| 四虎国产精品成人免费久久| 久久亚洲精品AB无码播放| 91成人免费在线视频| 男女超爽视频免费播放| 亚洲av色影在线| 成人毛片免费播放| 两个人看的www免费视频| 拔擦拔擦8x华人免费久久| 一级成人生活片免费看| 亚洲天堂电影在线观看|