博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ActiveMQ demo
阅读量:5331 次
发布时间:2019-06-14

本文共 4440 字,大约阅读时间需要 14 分钟。

Maven 配置文件  

org.apache.activemq
activemq-all
5.9.1

 

 

provider 生产者代码

import static commons.Constants.*;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageProducer;import javax.jms.Queue;import javax.jms.Session;import org.apache.activemq.ActiveMQConnectionFactory;public class Provider {    public static void main(String[] args) {        ConnectionFactory cf = new ActiveMQConnectionFactory(URL); //创建工厂链接对象        Connection connection = null;        Session session  = null;        Queue queue  = null;        MessageProducer producer  = null;        try {            connection = cf.createConnection(); //使用工厂创建链接            connection.start(); //开启连接            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //使用连接对象创建会话            queue = session.createQueue(QUEUE_ONE); //使用会话创建目标对象            producer = session.createProducer(queue); // 使用会话、目标对象创建生产者对象            Message message = session.createTextMessage("hello ,i'm  not good"); //使用会话创建消息对象            producer.send(message);//发送消息            System.out.println("send:"+message.toString());        } catch (JMSException e) {            e.printStackTrace();        }finally {            if(producer != null) {                try {                    producer.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }            if(session != null) {                try {                    session.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }            if(connection != null) {                try {                    connection.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }        }    }}

 

 

Consumer 消费者

import static commons.Constants.*;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.MessageListener;import javax.jms.Queue;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;public class Consumer {    public static void main(String[] args) {        ConnectionFactory cf = new ActiveMQConnectionFactory(URL);        Connection connection = null;        Session session = null;        MessageConsumer consumer = null;        try {            connection = cf.createConnection();            connection.start();            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);            Queue queue = session.createQueue(QUEUE_ONE);            consumer = session.createConsumer(queue);            //向consumer对象中设置一个messageListener对象,用来接收消息            consumer.setMessageListener(new MessageListener() {                public void onMessage(Message message) {                    if(message instanceof TextMessage) { //当前测试,仅测试Text类型的消息                        TextMessage text = (TextMessage)message;                        try {                            System.out.println(text.getText());                        } catch (JMSException e) {                            e.printStackTrace();                        }                    }                }            });            System.out.println("consumer : "+System.currentTimeMillis());            System.in.read();        }catch(Exception e) {            e.printStackTrace();        }finally {            if(consumer != null) {                try {                    consumer.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }            if(session != null) {                try {                    session.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }            if(connection != null) {                try {                    connection.close();                } catch (JMSException e) {                    e.printStackTrace();                }            }        }    }}

 

 

Constants 常量类

package commons;public interface Constants {    String URL = "tcp://192.168.49.128:61616";        String QUEUE_ONE = "CQC_ONE";        }

 

转载于:https://www.cnblogs.com/chen--biao/p/10127173.html

你可能感兴趣的文章
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
python的猴子补丁monkey patch
查看>>
架构模式: API网关
查看>>
正则验证积累
查看>>
Linux学习-汇总
查看>>
jQuery瀑布流+无限加载图片
查看>>
83. 删除排序链表中的重复元素
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
python中的__init__ 、__new__、__call__等内置函数的剖析
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
MYSQL SHOW VARIABLES简介
查看>>
雷林鹏分享:Redis 简介
查看>>
自卑都是自己不踏实做事的表现
查看>>
C# 网页自动填表自动登录 .
查看>>
netfilter 和 iptables
查看>>
洛谷P1005 矩阵取数游戏
查看>>
Django ORM操作
查看>>
2012年最佳30款免费 WordPress 主题
查看>>