<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)航:
     
    主站蜘蛛池模板: 亚洲高清在线视频| 亚洲欧洲日产国码无码网站 | 亚洲综合成人婷婷五月网址| 欧洲人免费视频网站在线| 亚洲成AV人片一区二区密柚| 久久久精品午夜免费不卡| 久久噜噜噜久久亚洲va久| 久久久久免费精品国产小说| 亚洲激情视频在线观看| 最近免费字幕中文大全视频| 亚洲免费在线观看视频| 最近2019中文免费字幕| 亚洲AV成人精品一区二区三区| 情侣视频精品免费的国产| 日本一区二区三区免费高清在线| 亚洲成a人一区二区三区| 丁香花在线观看免费观看图片| 亚洲综合无码AV一区二区 | aⅴ免费在线观看| 亚洲无人区码一二三码区别图片 | 亚洲av无码一区二区三区观看| 成人毛片免费在线观看| 深夜特黄a级毛片免费播放| 国产亚洲无线码一区二区| 亚洲一级毛片免费看| 亚洲乱妇老熟女爽到高潮的片| 亚洲人成无码网站久久99热国产| 花蝴蝶免费视频在线观看高清版| 亚洲精品午夜视频| 老司机永久免费网站在线观看| 国产久爱免费精品视频| 亚洲国产成人精品电影| 免费成人av电影| 3d成人免费动漫在线观看| 亚洲爆乳无码专区www| 久久精品国产亚洲AV果冻传媒| 国产成人午夜精品免费视频| 一级毛片视频免费| 久久精品亚洲精品国产色婷| 麻豆国产入口在线观看免费| 最近中文字幕免费大全|