JMS服务器openJms入门教程
来源:优易学  2011-11-26 16:21:54   【优易学:中国教育考试门户网】   资料下载   IT书店

 

  topicSession =

  topicConnection.createTopicSession(false,

  Session.AUTO_ACKNOWLEDGE);

  topic = (Topic) context.lookup("topic1");

  //创建Topic subscriber

  topicSubscriber = topicSession.createSubscriber(topic);

  //设置订阅监听

  topicSubscriber.setMessageListener(this);

  //启动信息接收

  topicConnection.start();

  } catch (NamingException e) {

  e.printStackTrace();

  } catch (JMSException e) {

  e.printStackTrace();

  }

  }

  public static void main(String[] args) {

  System.out.println("非同步定购消息的接收:");

  try {

  TopicSubscribeAsynchronous listener =

  new TopicSubscribeAsynchronous();

  Thread.sleep(1000);

  } catch (InterruptedException e) {

  e.printStackTrace();

  }

  }

  //收到订阅信息后自动调用此方法

  public void onMessage(Message message) {

  try {

  String messageText = null;

  if (message instanceof TextMessage)

  messageText = ((TextMessage) message).getText();

  System.out.println(messageText);

  } catch (JMSException e) {

  e.printStackTrace();

  }

  }

  }

  编译好后,启动openJms服务,打开admin管理台,为了运行方便,这里先列出三个类的运行命令:

  java -cp .\; -Djava.ext.dirs=.\lib; javayou.demo.openjms.TopicPublish

  java -cp .\; -Djava.ext.dirs=.\lib; javayou.demo.openjms.TopicSubscribeSynchronous

  java -cp .\; -Djava.ext.dirs=.\lib; javayou.demo.openjms.TopicSubscribeAsynchronous

  先运行2个接收命令,再运行发布命令,可以看到控制台的Topic有消息接收,并且接收1和2都有消息接收的提示,到此完成演示,由于是非持久订阅,所以可以看到控制台上的Topic消息条数不会减少。

上一页  [1] [2] [3] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训