ActiveMQ之点对点使用
package com.toov5.producer; import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage; import org.apache.activemq.ActiveMQConnectionFactory; public class producerTest {
// mq通讯地址
private static String url = "tcp://192.168.91.6:61616";
// 队列名称
private static String queueName = "toov5_queue"; public static void main(String[] args) throws JMSException {
// 先创建连接工厂 密码默认采用admin admin
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(url);
// 创建连接
Connection connection = activeMQConnectionFactory.createConnection();
// 启动连接
connection.start();
// 创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 是否需要事务方式提交 消费方式默认自动签收
// 拿到session 创建目标 创建队列
Queue queue = session.createQueue(queueName);
// 创建生产者
MessageProducer producer = session.createProducer(queue); // 生产者生产的消息 是放在这个queue里面的
for (int i = 1; i < 10; i++) {
// 拿到队列 创建消息
TextMessage textMessage = session.createTextMessage("消息内容" + i);
// 发送消息
producer.send(textMessage);
}
// 关闭连接
connection.close();
System.out.println("消息发送完毕");
} }
依赖:
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-core</artifactId>
<version>5.7.0</version>
</dependency>
</dependencies>
查看结果:

创建完了 producer 下面 comsumer:
package com.toov5.producer; import javax.jms.Connection;
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 consumerTest {
// mq通讯地址
private static String url = "tcp://192.168.91.6:61616";
// 队列名称
private static String queueName = "toov5_queue"; public static void main(String[] args) throws JMSException {
// 先创建连接工厂 密码默认采用admin admin
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(url);
// 创建连接
Connection connection = activeMQConnectionFactory.createConnection();
// 启动连接
connection.start();
// 创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 是否需要事务方式提交 消费方式默认自动签收
// 拿到session 创建目标 创建队列
Queue queue = session.createQueue(queueName); //创建消费者
MessageConsumer consumer = session.createConsumer(queue);
//启动监听 监听消息
consumer.setMessageListener(new MessageListener() { public void onMessage(Message message) {
//强制转换
TextMessage textMessage = (TextMessage) message;
try {
System.out.println("consumer 消费 producer:"+textMessage.getText());
} catch (JMSException e) { e.printStackTrace();
}
}
});
//监听时候 不要关闭连接 关闭就不监听了 一只处于监听状态 (长连接) } }


生产者,消费者 代码相同

ActiveMQ之点对点使用的更多相关文章
- Activemq mqtt 点对点聊天实现(转载)
我这想到一个点对点聊天的方法,不用没割人都建立一个topic了,思路还是自定义一个分发策略,具体如下: 1. 建立一个topic,所有人都用匹配订阅的方式订阅以该topic为头的topic,例如:所 ...
- SpringBoot2.0之整合ActiveMQ(点对点模式)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- (二)ActiveMQ之点对点消息实现
一.点对点消息实现概念 在点对点或队列模型下,一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息.这里,生产者知道消费者的队列,并直接将消息发送到消费者的队列.这种模式被概括为:只有一个 ...
- windows安装ActiveMQ以及点对点以及发布订阅
一.MQ产品的分类 1.RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级 ...
- 基于ActiveMQ的点对点收发消息
ActiveMQ是apache的一个开源消息引擎.可以作为即通引擎或者消息中间件引擎. 准备 下载ActiveMQ http://activemq.apache.org/download.html 进 ...
- ActiveMQ入门系列二:入门代码实例(点对点模式)
在上一篇<ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)>中,大致介绍了ActiveMQ和一些概念,并下载.安装.启动他,还访问了他的控制台页面. 这篇,就用代 ...
- ActiveMQ消息队列的使用及应用
这里就不说怎么安装了,直接解压出来就行了. 谢绝转载,作者保留所有权力 目录: 一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实现代码 2.1:点对点的发送端 2 ...
- 消息队列中间件(二)使用 ActiveMQ
ActiveMQ 介绍 Active MQ 是由 Apache 出品的一款流行的功能强大的开源消息中间件,它速度快,支持跨语言的客户端,具有易于使用的企业集成模式和许多的高级功能,同时完全支持 JSM ...
- Spring整合ActiveMQ及多个Queue消息监听的配置
消息队列(MQ)越来越火,在java开发的项目也属于比较常见的技术,MQ的相关使用也成java开发人员必备的技能.笔者公司采用的MQ是ActiveMQ,且消息都是用的点对点的模式.本文记录了实 ...
随机推荐
- 使用REST-Assured对API接口进行自动化测试
转载:http://blog.csdn.net/u012050416/article/details/50674612 准备 目标 开始编码 总结 说明:本文只是一个getStart示例,关键在于 ...
- Codeforces Round #277.5 (Div. 2)(C题)
C. Given Length and Sum of Digits... time limit per test 1 second memory limit per test 256 megabyte ...
- 微信小程序 - 时间戳转时间
获取当前时间:十位unix时间戳 var timestamps = Math.round(new Date().getTime() / 1000).toString(); 时间戳转时间(官方自带) 使 ...
- Shell脚本之:if-else
Shell 有三种 if ... else 语句: 1.if ... fi 语句: 2.if ... else ... fi 语句: 3.if ... elif ... else ... fi 语句. ...
- C# 字节数组拼接的速度实验(Array.copy(),Buffer.BlockCopy(),Contact())
无聊做了如题的一个算法的优劣性能比较,由于很多人都只关心结果,那么我先贴出结果如下: 由于我的测试数据量比较小,只能得出Array.Copy()和Buffer.BlockCopy()方法性能要好于Co ...
- VueJS定义组件规则
Vue.js 组件 组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的 ...
- 基于jenkins,tekton等工具打造kubernetes devops平台
本贴为目录贴,将不断更新 目录 1.Docker在centos下安装以及常见错误解决 2.使用kubernetes 官网工具kubeadm部署kubernetes(使用阿里云镜像) 3.无法访问gcr ...
- python 安装protobuf
安装准备:python和protoc(编译proto到各个语言) 下载protobuf源代码(各种语言实现):https://github.com/google/protobuf 1.到Python ...
- CI学习总结
1.CI自定义配置文件: 如:config/test.php <?php $config['test']['good'] = array('aa','bb'); 在控制器中这样调用: <? ...
- Python中属性
属性定义的两种方式: 1.num1=property(GetNum,SetNum) class Pro(): def __init__(self): self._num= def GetNum(s ...