下载jboss后面,按照默认启动就可以。
package org.liuxt.jboss;
import javax.jms.JMSException;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicConnection;
import javax.jms.TopicConnectionFactory;
import javax.jms.TopicSession;
import javax.jms.TopicSubscriber;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.log4j.Logger;
/**
* A complete JMS client example program that sends a TextMessage to
* a Topic and asynchronously receives the message from the same
* Topic.
*
* @author Scott.Stark@jboss.org
* @version $Revision: 1.9 $
*/
public class SubscriberClient
{
TopicConnection conn = null;
TopicSession session = null;
Topic topic = null;
TopicSubscriber receiver =null;
static Logger log = Logger.getLogger(SubscriberClient.class);
public void init() 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);
receiver = session.createSubscriber(topic);
receiver.setMessageListener(null);
conn.start();
}
public void ReceiveMessages() throws JMSException, NamingException {
long i=0;
while (true)
{
TextMessage tm = (TextMessage) receiver.receive();
log.info("ReceiveMessage text======" + tm.getText());
if(tm==null) break;
i++;
}
}
public void stop() throws JMSException
{
receiver.close();
conn.stop();
session.close();
conn.close();
}
public static void main(String args[]) throws Exception
{
log.info("Begin SubscriberClient, now=" + System.currentTimeMillis());
SubscriberClient receiveClient = new SubscriberClient();
receiveClient.init();
TimeUtil.startTime();
receiveClient.ReceiveMessages();
TimeUtil.stopTime();
TimeUtil.outputTime();
receiveClient.stop();
log.info("End SubscriberClient");
System.exit(0);
}
}