topicsendclient.java

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

JAVA
77
字号
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 sends a TextMessage to a Topic * * @author  Scott.Stark@jboss.org * @version $Revision: 1.1 $ */public class TopicSendClient{    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();        topic = (Topic) iniCtx.lookup("topic/testTopic");        session = conn.createTopicSession(false,                                          TopicSession.AUTO_ACKNOWLEDGE);        conn.start();    }        public void sendAsync(String text)        throws JMSException,                NamingException    {        System.out.println("Begin sendAsync");        // Setup the pub/sub connection, session        setupPubSub();        // Send a text msg        TopicPublisher send = session.createPublisher(topic);        TextMessage tm = session.createTextMessage(text);        send.publish(tm);        System.out.println("sendAsync, sent text=" + tm.getText());        send.close();        System.out.println("End sendAsync");    }        public void stop()         throws JMSException    {        conn.stop();        session.close();        conn.close();    }        public static void main(String args[]) throws Exception    {        System.out.println("Begin TopicSendClient, now="+System.currentTimeMillis());        TopicSendClient client = new TopicSendClient();        client.sendAsync("A text msg, now="+System.currentTimeMillis());        client.stop();        System.out.println("End TopicSendClient");        System.exit(0);    }}

⌨️ 快捷键说明

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