activemq 的小实验

本文提供了使用ActiveMQ作为消息中间件的客户端实例,演示了如何发送和接收包含键值对信息的消息。通过创建连接、会话、生产者和消费者,实现消息的发送与接收过程,并展示了消息内容的解析。
 1 package ch02.chat;
 2 
 3 
 4 import javax.jms.Connection;
 5 import javax.jms.ConnectionFactory;
 6 import javax.jms.Destination;
 7 import javax.jms.MapMessage;
 8 import javax.jms.MessageProducer;
 9 import javax.jms.Session;
10 
11 import org.apache.activemq.ActiveMQConnectionFactory;
12 
13 class Send
14 {
15     public static void main(String[] args) throws Exception {    
16         ConnectionFactory connectionFactory = new ActiveMQConnectionFactory();    
17        
18         Connection connection = (Connection) connectionFactory.createConnection();    
19         connection.start();    
20        
21         Session session = connection.createSession(Boolean.TRUE, Session.AUTO_ACKNOWLEDGE);    
22         Destination destination = session.createQueue("my-queue");    
23        
24         MessageProducer producer = session.createProducer(destination);    
25         for(int i=0; i<3; i++) {    
26             
27             MapMessage message=session.createMapMessage();
28             message.setLong("age",15 );
29             message.setString("name", "zhangsa");
30             Thread.sleep(1000);    
31             //通过消息生产者发出消息    
32             producer.send(message);    
33         }    
34         session.commit();    
35         session.close();    
36         connection.close();    
37     } 
38 
39 
40 
41 }
View Code

1.发送客户端,发送3个key-value的信息、

用localhost:8161查看message的内容:

3.开启消费进程

 1 package ch02.chat;
 2 
 3 import java.sql.Connection;
 4 
 5 import javax.jms.ConnectionFactory;
 6 import javax.jms.Destination;
 7 import javax.jms.JMSException;
 8 import javax.jms.MapMessage;
 9 import javax.jms.Message;
10 import javax.jms.MessageConsumer;
11 import javax.jms.MessageListener;
12 import javax.jms.Session;
13 
14 import org.apache.activemq.ActiveMQConnectionFactory;
15 
16 public class Receive {
17 
18     public static void main(String[] args) throws JMSException {
19         // TODO Auto-generated method stub
20         ConnectionFactory  conFactory=new ActiveMQConnectionFactory();
21        javax.jms.Connection con=conFactory.createConnection();
22        con.start();
23       final  Session session=con.createSession(false,Session.AUTO_ACKNOWLEDGE );
24       Destination des=session.createQueue("my-queue");
25       MessageConsumer consumer=session.createConsumer(des);
26       consumer.setMessageListener(new MessageListener(){
27 
28         @Override
29         public void onMessage(Message m) {
30             // TODO Auto-generated method stub
31             if(m instanceof MapMessage){
32                 MapMessage mm=(MapMessage)m;
33             try {
34                 System.out.println(mm.getLong("age"));
35                 System.out.println(mm.getString("name"));
36             } catch (JMSException e) {
37                 // TODO Auto-generated catch block
38                 e.printStackTrace();
39             }
40             
41             }
42         
43         }
44           
45           
46           
47       });
48       
49        
50     }
51 
52 }
View Code

查看信息没了,哈哈哈

转载于:https://www.cnblogs.com/hansongjiang/p/4071498.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值