ActivityMQ使用
POM依赖
<dependency><groupId>org.apache.activemq</groupId><artifactId>activemq-core</artifactId><version>5.7.0</version></dependency>
ActivityMQ官网地址:http://activemq.apache.org/components/classic/download/
生产者
package com.xx.demo;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/*** 消息队列,点对点模式,消费者集群默认采用均摊方式*/
public class ProducerDemo {// mq通讯地址private static String url = "tcp://127.0.0.1:61616";// 队列名称private static String queueName = "my_queue";public static void main(String[] args) throws JMSException {// 创建连接工厂ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(url);// 创建连接Connection connection = factory.createConnection();// 启动连接connection.start();// 创建会话(设置是否以事务方式提交,当设置为true时,开启事务,当事务被提交时才会生效,消息方式默认采用自动签收)Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);// 创建队列Queue queue = session.createQueue(queueName);// 创建生产者MessageProducer producer = session.createProducer(queue);// 不开启持久化,SpringBoot默认开启持久化// producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);for (int i=0;i<10;i++){// 创建消息TextMessage textMessage = session.createTextMessage("消息内容i:" + i);// 提交事务,当开启事务时,必须当事务被提交才会发送这个消息// session.commit();// 发送消息producer.send(textMessage);}System.out.println("消息发送完毕");// 关闭连接connection.close();}
}
消费者
package com.xx.demo;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;public class ConsumerDemo {// mq通讯地址private static String url = "tcp://127.0.0.1:61616";// 队列名称private static String queueName = "my_queue";public static void main(String[] args) throws JMSException {// 创建连接工厂ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(url);// 创建连接Connection connection = factory.createConnection();// 启动连接connection.start();// 创建会话(设置是否以事务方式提交,当设置为true时,开启事务,消息方式默认采用自动签收AUTO_ACKNOWLEDGE,手动签收CLIENT_ACKNOWLEDGE)Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);// 创建队列Queue queue = session.createQueue(queueName);// 创建消费者MessageConsumer consumer = session.createConsumer(queue);// 启动监听,监听消息consumer.setMessageListener(new MessageListener() {@Overridepublic void onMessage(Message message) {try {TextMessage textMessage = (TextMessage) message;System.out.println("消费者消费生产者内容:"+textMessage.getText());// 手动签收,消费成功(当开启CLIENT_ACKNOWLEDGE手动签收时,必须手动签收,才能消费成功)// textMessage.acknowledge();// 提交事务,当开启事务时,必须当事务被提交才能消费成功// session.commit();} catch (JMSException e) {e.printStackTrace();}}});// 不要关闭连接,这里是个长连接,持续处理消息// connection.close();}
}
ActivityMQ使用相关推荐
- 中间件-------activityMQ整合springboot
springboot整合activityMQ 启动activityMQ 创建项目 添加maven的依赖,导入相应的jar包 <?xml version="1.0" encod ...
- spring boot Activitymq topic与 queue 并存实现方案
Activitymq topic与 queue 并存实现方案 问题: 根据官方的事例文档,配置,我们发现按照该方案,发现要么实现topic 要么 实现queue,不能同时出现,因为他只是一个配置参数, ...
- ActivityMQ消息持久化到HANA数据库
2019独角兽企业重金招聘Python工程师标准>>> 在apache-activemq-5.9.0\lib中添加hana数据库驱动包ngdbc.jar 修改activemq.xml ...
- JSM之ActivityMQ
1. JMS基本概念 JMS(Java Message Service) 即Java消息服务.它提供标准的产生.发送.接收消息的接口简化企业 应用的开发.它支持两种消息通信模型:点到点(po ...
- 【activityMQ】一头扎进activeMQ学习
ActiveMQ操作: 1: 下载 ActiveMQ http://www.apache.org/index.html#projects-list apache 所有项目列表 2: 在配置后jd ...
- Centos6.8下ActivityMQ安装
一.下载 到ActiveMQ官网,找到下载点. 目前,官网为http://activemq.apache.org/ 二.安装 下载到本机,并解压 cd /home/rpm/activemq tar ...
- 修改activityMQ的登录账与密码
登录下管理员页面,ip根据实际的来 URL : http://127.0.0.1:8161/admin/ 默认账户密码都是admin 账户密码修改在conf文件夹下的jetty-realm.prope ...
- spring融合activitymq-all启动报错的解决办法
报错信息: nested exception is java.lang.NoSuchMethodError: org.springframework.core.annotation.Annotated ...
- springboot 集成rabbitmq 实例
springboot 集成rabbitmq 实例 个人在学习rabbitmq时发现网上很少有系统性介绍springboot和rabbitmq如何集成的,其他人总结的都片段化,所以结合个人调研过程,整理 ...
- ActiveMQ实战篇之 java和spring xml创建Broker(一)
ActivityMQ创建broker是直接通过配置IOC注入的,所以了解如何用纯JAVA代码和spring xml 创建broker可以让我们对AcitivtyMQ有一个更深入的了解 原本的配置 &l ...
最新文章
- 我为什么要冒险从工业界离职做内容平台有三AI
- [转载]在VirtualBox中收缩虚拟磁盘映像文件
- 朴素贝叶斯算法注意事项(有待完善)
- 企业微信_读取成员(获取用户详情)
- Linux系统调用Hook姿势总结
- java 蓝桥杯算法训练 奇变的字符串(题解)
- 预测今后的北京高考人数
- php医院数据库设计,检查我的数据库设计/ PHP / MySQL
- 如歌将两个数组合并_将数组数据拆分后再合并,作为字典的键,实现多条件数据汇总...
- 【优化部署】基于matlab粒子群算法求解无线传感器WSN部署优化问题【含Matlab源码 1691期】
- H5 video 播放器demo代码
- r型聚类分析怎么做_聚类分析原理及R语言实现过程
- 【信息系统项目管理师】第二十二章 信息系统安全管理思维导图
- 如何按比例裁剪图片?怎样改变图片形状?
- FFmpeg+SDL纯语音播放器
- Google Hacking 搜索引擎攻击与防范
- MySQL数据库密码忘了,怎么修改密码,找回密码。
- matlab 多项式相减,matlab多项式计算与数据处理
- 一个 Git 库内管理多个子项目
- mac用什么写python程序_macos,python_大家在mac系统都用什么编辑器写python程序?,macos,python - phpStudy...
热门文章
- Android开发(一)
- (已更新)漫画小程序,自动采集资源,漫画源码简单即可发布
- vsphere报错: 连接到虚拟机控制台失败并显示错误:VMRC 控制台的连接已断开。正在尝试重新连接
- php百度知道小偷,随风百度知道(小偷采集) php版 v2.0.0X
- 多种方式描述4选1数据选择器
- android swf 文件播放器,swf播放器怎么用?swf播放器安卓版使用教程
- Sql Server 数据库实验报告
- 射频信号发生器原理及提高性能的五个方法
- 疯狂的程序员——个人解读加经典语录
- Java网络编程socket实现(demo)