zoukankan      html  css  js  c++  java
  • activemq 异步和同步接收

    来点实在的代码,用例子来说明:

    1.异步接收,主要设置messageListener。,然后编写onmessage方法,很简单

    a.客户端发送5条消息

     1 package ch02.chat;
     2 
     3 import javax.jms.JMSException;
     4 
     5 public class ClientTest3 {
     6 
     7     public static void main(String[] args) throws JMSException {
     8         // TODO Auto-generated method stub
     9         JMSTopic jt=new JMSTopic();
    10         jt.setSession();
    11         //发送5个消息到queue2
    12         for(int i=0;i<10;i++)
    13         {
    14             jt.writeMessage("queue2", "xo"+i,4);
    15             
    16         }
    17         
    18 
    19     }
    20 
    21 }
    View Code

    b.接收端接收5条消息

     1 package ch02.chat;
     2 
     3 import javax.jms.JMSException;
     4 import javax.jms.Message;
     5 import javax.jms.MessageListener;
     6 import javax.jms.TextMessage;
     7 
     8 public class ClientTest3Response {
     9     
    10 
    11     public static void main(String[] args) throws JMSException {
    12         // TODO Auto-generated method stub
    13         JMSTopic jt=new JMSTopic();
    14         jt.setSession();
    15         
    16         //异步接收信息,监听queue2
    17         
    18         System.out.println("异步接收前");
    19     
    20         
    21         
    22         jt.receiveMsg("queue2", new  MessageListener() {
    23             
    24             @Override
    25             //当topic, queue2中有信息的时候
    26             public void onMessage(Message message) {
    27                 
    28                 TextMessage mm=(TextMessage)message;
    29                 try {
    30                     System.out.println("接收到信息"+mm.getText());
    31                 } catch (JMSException e) {
    32                     // TODO Auto-generated catch block
    33                     e.printStackTrace();
    34                 }
    35                 
    36             }
    37         });
    38         
    39         System.out.println("异步接收后");
    40         
    41         }
    42     }
    View Code

    执行结果如下:

    异步接收前
    异步接收后
    接收到信息xo0
    接收到信息xo1
    接收到信息xo2
    接收到信息xo3
    接收到信息xo4
    接收到信息xo5
    接收到信息xo6
    接收到信息xo7
    接收到信息xo8
    接收到信息xo9

    同步的以后再写好累。

  • 相关阅读:
    Naive Bayesian classification 朴素贝叶斯分类
    svm
    CentOS 7上的性能监控工具
    Elasticsearch .net 客户端条件拼接查询
    centos7 搭建elk
    Elasticsearch 快照和恢复
    Elasticsearch .net client NEST使用说明 2.x
    ELK 日志系统搭建配置
    用微软makecert.exe生成一个自签名的证书
    (从零开始java开发) IDEA+MAVEN构建一个webapp骨架项目(解决一直downloading问题)
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/4077270.html
Copyright © 2011-2022 走看看