下载apache activemq:
http://activemq.apache.org/download-archives.html
选择自己选用版本。
这里本地测试选用window版本
解压zip文件,不做任何修改 /bin目录下有window启动文件
运行activemq.bat启动activemq服务
默认服务连接地址:tcp://localhost:61616
管理地址:http://localhost:8161
运行消息生产者代码:
@Test
public void method1() throws Exception{
/*
* 从工厂中获取一个jms connection。
* activmq默认连接端口是61616,在 conf/activemq.xml文件可查看配置
*/
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection conn = factory.createConnection();
conn.start();
/*
* 新建session
* 参数一:是否有事物
* 参数二:
* AUTO_ACKNOWLEDGE 完成消息接收时,session自动发送一个消息回执
* CLIENT_ACKNOWLEDGE 由客户端程序通过手工调用Message.acknowledge()方法显示确认接收
* DUPS_OK_ACKNOWLEDGE 让Session延迟发送确认回执
*/
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建一个P2P的Queue
Destination dest = session.createQueue("com.amq.test");
//创建一个消息生产者
MessageProducer producer = session.createProducer(dest);
/*
* NON_PERSISTENT 消息只传送一次
* PERSISTENT provider持久化消息,以保证消息不会因为JMS provider的失败而丢失
*/
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
//创建一个简单的文本消息
TextMessage message = session.createTextMessage("first message");
producer.send(message);
//释放资源
producer.close();
session.close();
conn.close();
}
查看http://localhost:8161/admin/queues.jsp页面
发现有一个queue
第一列:queue名字
第二列:未处理消息数
第三列:消费者个数
第四列:入列消息数
第五列:出列消息数
运行消息消费者:
public class AMQConsumer implements Runnable {
@Override
public void run() {
try {
//获取连接
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
Connection conn = factory.createConnection();
conn.start();
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建一个consumer
Destination dest = session.createQueue("com.amq.test");
MessageConsumer consumer = session.createConsumer(dest);
//接收消息
Message message = consumer.receive(1000);
while(true){
if(message != null){
if(message instanceof TextMessage){
TextMessage tm = (TextMessage) message;
System.out.println(tm.getText());
}else{
System.out.println(message);
}
}
message = consumer.receive(1000);
}
} catch (JMSException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
//线程方式,轮询监听
new Thread(new AMQConsumer()).start();
}
}
会打印输出:first message
查看消息queue页
刚才生产消息已经被消费
- 大小: 16.7 KB
- 大小: 18.2 KB
分享到:
相关推荐
activeMQ的发送消息后接收者返回信息
本代码关于activemq-cpp的核心代码参考的chenxun2009的博客园,其他部分包括:从配置文件中读取消息通道,过滤条件等信息。
springboot整合ActiveMQ源码,适合范围消息队列入门小伙伴,对ActiveMQ消息队列不太了解,不知道如何发送消息,接收消息可以围观。
activemq 通过ajax发送接收消息简单例子
SpringBoot+ActiveMq+MQTT实现消息的发送和接收 后台消费者、生产者、消息发送接口、发送消息业务类等相关配置
springboot集成activemq实现消息接收demo
Android基于MQTT协议利用ActiveMQ发送消息给Android端接收,属于长连接那种,类似Socket通信
activeMQ的测试工具,用于发送和接收activeMQ消息,jar包形式的,安装完jdk之后用java -jar xxx.jar命令运行
这是我精力整理的ActiveMQ发送和接收protobuf协议消息的实例。 也对ActiveMQ进行了简化封装,也配置了自动重连机制,亲测可用!
实现了ActiveMQ的初步封装,比较适合新手入门学习,简单明了
今天小编就为大家分享一篇python 发送和接收ActiveMQ消息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这个demo完整实现了activeMQ发送消息,接收消息,以及MQ详解文档
主要介绍了php 使用ActiveMQ发送消息,与处理消息操作,结合实例形式分析了php使用ActiveMQ实现消息的发送与接收处理相关操作技巧,需要的朋友可以参考下
activeMQ JMS 消息推送 Spring整合activeMQ 消息发送者 接收者
使用ActiveMQ由C++控制台程序发送消息,C#控制台程序接收消息。
关于jms activemq demo,内容实现了消息的发送和接收,并含有一定的注释,容易理解