durabletopicrecvclient.java

来自「jboss 的官方实例程序」· Java 代码 · 共 81 行

JAVA
81
字号
package org.jboss.book.jms.ex1;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageListener;import javax.jms.Topic;import javax.jms.TopicConnection;import javax.jms.TopicConnectionFactory;import javax.jms.TopicPublisher;import javax.jms.TopicSubscriber;import javax.jms.TopicSession;import javax.jms.TextMessage;import javax.naming.InitialContext;import javax.naming.NamingException;/** * A JMS client example program that synchronously receives a message a Topic * * @author  Scott.Stark@jboss.org * @version $Revision: 1.1 $ */public class DurableTopicRecvClient{    TopicConnection  conn = null;    TopicSession session = null;    Topic topic = null;        public void setupPubSub()        throws JMSException,                NamingException    {        InitialContext iniCtx = new InitialContext();        Object tmp = iniCtx.lookup("ConnectionFactory");        TopicConnectionFactory tcf = (TopicConnectionFactory) tmp;        conn = tcf.createTopicConnection("john", "needle");        topic = (Topic) iniCtx.lookup("topic/testTopic");        session = conn.createTopicSession(false,                                          TopicSession.AUTO_ACKNOWLEDGE);        conn.start();    }        public void recvSync()        throws JMSException,                NamingException    {        System.out.println("Begin recvSync");        // Setup the pub/sub connection, session        setupPubSub();        // Wait upto 5 seconds for the message        TopicSubscriber recv =             session.createDurableSubscriber(topic, "jms-ex1dtps");        Message msg = recv.receive(5000);        if (msg == null) {            System.out.println("Timed out waiting for msg");        } else {            System.out.println("DurableTopicRecvClient.recv, msgt=" + msg);        }    }        public void stop()        throws JMSException    {        conn.stop();        session.close();        conn.close();    }        public static void main(String args[])        throws Exception    {        System.out.println("Begin DurableTopicRecvClient, now=" +                            System.currentTimeMillis());        DurableTopicRecvClient client = new DurableTopicRecvClient();        client.recvSync();        client.stop();        System.out.println("End DurableTopicRecvClient");        System.exit(0);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?