当前位置: 首页 > news >正文

《ActiveMQ 系列》- HelloWorld

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.项目结构

221904_cWrJ_2330610.png

2.引入依赖

apply plugin:'java'

repositories{
	maven{
		url 'http://maven.aliyun.com/nexus/content/groups/public/'
	}
}

dependencies{
	compile group: 'org.apache.activemq', name: 'activemq-all', version: '5.13.3'
}


3.生产者

public class Sender {
	public static void main(String[] args) throws Exception {
		// 第一步:建立ConnectionFactory工厂对象。用户名,密码,连接地址
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ActiveMQConnectionFactory.DEFAULT_USER,
				ActiveMQConnectionFactory.DEFAULT_PASSWORD, "tcp://localhost:61616");
		// 第二步:通过ConnectionFactory工厂对象创建一个Connection连接,并开启连接
		Connection connection = connectionFactory.createConnection();
		connection.start();

		// 第三步:通过Connection对象创建Session会话。是否启用事务;签收模式,一般我们设置自动签收
		Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);

		// 第四步:通过Session对象创建Destination对象
		Destination destination = session.createQueue("first");

		// 第五步:通过Session对象创建消息的发送和接受对象(生产者和消费者)
		MessageProducer producer = session.createProducer(null);

		// 第六步:用MessageProducer的setDeliverMode方法设置持久化特性和非持久化特性
		// producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);

		// 第七步:使用send发送数据
		for (int i = 0; i < 100; i++) {
			TextMessage msg = session.createTextMessage("我是消息内容" + i);
			producer.send(destination, msg);
			TimeUnit.SECONDS.sleep(1);
		}

		// 第八步:关闭连接
		if (connection != null) {
			connection.close();
		}

	}
}

4.消费者

public class Receiver {
	public static void main(String[] args) throws Exception {
		// 第一步:建立ConnectionFactory工厂对象。用户名,密码,连接地址
		ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
				ActiveMQConnectionFactory.DEFAULT_USER,
				ActiveMQConnectionFactory.DEFAULT_PASSWORD,
				"tcp://localhost:61616");
		
		// 第二步:通过ConnectionFactory工厂对象创建一个Connection连接,并开启连接
		Connection connection =connectionFactory.createConnection();
		connection.start();
		
		// 第三步:通过Connection对象创建Session会话。
		Session session = connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE);
		
		// 第四步:通过Session对象创建Destination对象
		Destination destination =session.createQueue("first");
		
		// 第五步:通过Session对象创建消息的发送和接受对象(生产者和消费者)
		MessageConsumer consumer = session.createConsumer(destination);
		
		while (true) {
			TextMessage message = (TextMessage)consumer.receive();
			System.out.println("消费数据:"+message.getText());
		}
	}
}

5.监控控制台

转载于:https://my.oschina.net/kimisme/blog/1628058

相关文章:

  • SSM-Spring-02:Spring的DI初步加俩个实例
  • DOM的那些事
  • 【mysql】count(*),count(1)与count(column)区别
  • 北塔软件:BI+AI+DI,做IT运维数据掘金的使能者
  • 秋季学期学习总结
  • 如何解决微信端直接跳WAP端
  • iOS CAReplicatorLayer 简单动画
  • Java Activiti 工作流引擎 springmvc SSM 流程审批 后台框架源码
  • D-Uni 获斯道资本500万美元投资-「D-Uni颉一科技」
  • 阿里云宣布华北5地域十月开服,将部署国内首个全系Skylake+25G网络
  • 前嗅ForeSpider教程:链接抽取
  • 谷歌支付Purchases验证中的purchaseType
  • .NET分布式缓存Memcached从入门到实战
  • 转行程序员深漂的这三年 #2
  • ES6 学习笔记(一)let,const和解构赋值
  • .pyc 想到的一些问题
  • 【React系列】如何构建React应用程序
  • 10个最佳ES6特性 ES7与ES8的特性
  • CSS 专业技巧
  • C语言笔记(第一章:C语言编程)
  • JavaScript设计模式之工厂模式
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MySQL数据库运维之数据恢复
  • Promise初体验
  • Vue.js-Day01
  • vue学习系列(二)vue-cli
  • vue总结
  • Web标准制定过程
  • 从0实现一个tiny react(三)生命周期
  • 浏览器缓存机制分析
  • 使用putty远程连接linux
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • nb
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #LLM入门|Prompt#3.3_存储_Memory
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (1)虚拟机的安装与使用,linux系统安装
  • (10)ATF MMU转换表
  • (2015)JS ES6 必知的十个 特性
  • (6)设计一个TimeMap
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (三)c52学习之旅-点亮LED灯
  • (数据结构)顺序表的定义
  • *1 计算机基础和操作系统基础及几大协议
  • @开发者,一文搞懂什么是 C# 计时器!
  • [383] 赎金信 js
  • [android学习笔记]学习jni编程
  • [Angular] 笔记 9:list/detail 页面以及@Output
  • [BZOJ]4817: [Sdoi2017]树点涂色
  • [C#]winform部署yolov9的onnx模型
  • [C++]C++类基本语法
  • [CareerCup][Google Interview] 实现一个具有get_min的Queue
  • [codeforces] 25E Test || hash