ActiveMq之消息发送(MessageProducer)-yellowcong
来源:互联网 发布:python class 自己 编辑:程序博客网 时间:2024/06/07 07:44
MessageProducer,是用来发送消息的,用来设定消息的优先级,签收的模式,以及消息的存活时间的设定。
MessageProducer 参数
//第一个参数 消息的目的地 Destination//第二个参数 发送的消息 Message//第三个参数 消息的模式 DeliveryMode//第四个参数 消息的优先级 0-9 默认是4 //第五个参数 消息存活时间 存活时间单位是ms MessageProducer.send(destination, msg, DeliveryMode.NON_PERSISTENT, 4, 1000*10);
设定优先级
一共有0-9,共10个级别,默认是40-4是普消息,5-9是加急消息虽然是有优先级,但是是个概率事件,不是绝对的优先,处理优先级的问题,可以在接收端,做一个排序处理,根据最后添加的事件或则其他等。
设定存活时间
默认情况下,消息不会失效的,设定消息存活一定时间,这个时间是ms级别的,
案例
package com.yellowcong.provice;import javax.jms.Connection;import javax.jms.ConnectionFactory;import javax.jms.DeliveryMode;import javax.jms.Destination;import javax.jms.MessageConsumer;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.ActiveMQConnectionFactory;/** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月9日<br/> * 创建时间:上午11:01:51<br/> * 机能概要: */public class DemoSendMessage { // activemq的服务器地址 private static final String ACTIVEMQ_HOST = "tcp://192.168.100.10:61616"; // 用户名 private static final String USERNAME = "yellowcong"; // 密码 private static final String PASSWORD = "yellowcong"; public static void main(String[] args) throws Exception { provider(); customer(); } /** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月9日<br/> * 创建时间:上午10:52:05<br/> * 机能概要:消费者确认消息 * * @throws Exception */ public static void customer() throws Exception { // 获取连接 Connection conn = null; try { conn = getConnection(); // 获取session Session session = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE); // 创建队列 Destination destination = session.createQueue("myqueue"); // 获取消费者 MessageConsumer cus = session.createConsumer(destination); // 接收消息 TextMessage msg = (TextMessage) cus.receive(); // 确认接收, 又开启一个线程,去发送给服务器,按收到消息了 msg.acknowledge(); System.out.println("-------------接收并确认消息----------------"); System.out.println(msg.getText()); } finally { // 关闭连接 conn.close(); } } /** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月9日<br/> * 创建时间:上午10:48:03<br/> * 机能概要: 生产消息 * * @throws Exception */ public static void provider() throws Exception { // 获取连接 Connection conn = null; try { conn = getConnection(); // 获取session Session session = conn.createSession(true, Session.CLIENT_ACKNOWLEDGE); // 创建队列 Destination destination = session.createQueue("myqueue"); // 获取生产者 MessageProducer pro = session.createProducer(destination); // 创建消息 TextMessage msg = session.createTextMessage(); msg.setText("请确认消息"); // 发送消息 //第一个参数 消息的目的地 Destination //第二个参数 发送的消息 //第三个参数 消息的模式 DeliveryMode //第四个参数 消息的优先级 //第五个参数 消息存活时间 存活时间单位是ms pro.send(destination, msg, DeliveryMode.NON_PERSISTENT, 4, 1000*10); //提交事物 session.commit(); System.out.println("-----------------发送消息----------------"); } finally { // 关闭连接 conn.close(); } } /** * 创建用户:狂飙的yellowcong<br/> * 创建日期:2017年12月9日<br/> * 创建时间:上午10:42:48<br/> * 机能概要: 获取连接 * * @return * @throws Exception */ public static Connection getConnection() throws Exception { // 1.获取工厂连接类 ConnectionFactory fc = new ActiveMQConnectionFactory(USERNAME, PASSWORD, ACTIVEMQ_HOST); // 2.获取连接 Connection conn = fc.createConnection(); conn.start(); System.out.println("-----------------获取连接----------------"); return conn; }}
阅读全文
0 0
- ActiveMq之消息发送(MessageProducer)-yellowcong
- ActiveMq之消息过滤-yellowcong
- ActiveMq之消息的优先级-yellowcong
- ActiveMq之事物和消息签收方式-yellowcong
- ActiveMQ之集群(主从)搭建-yellowcong
- ActiveMQ-JMS(二):发送消息
- activeMq发送消息流程
- ActiveMQ消息发送
- ActiveMQ 发送指定消息
- ActiveMQ异步发送消息
- javase activemq发送消息
- ActiveMQ发送queue消息
- ActiveMQ使用笔记(三)ActiveMQ消息发送与接收
- ActiveMQ使用笔记(三)ActiveMQ消息发送与接收
- 【activeMQ】ActiveMQ 发送接收消息(含安装运行测试)
- Java之请求发送工具类(HttpClientUtils,爬虫)-yellowcong
- 消息中间件之ActiveMQ整合Spring实现邮箱发送(四)
- activeMQ之点对点(p2p)发送与接收消息
- myeclopse2014 SSH框架搭建
- angular的查询
- Scrum基础了解学习
- Android实现异步的几种方法
- tftpd源代码修改支持写请求
- ActiveMq之消息发送(MessageProducer)-yellowcong
- Java中文加密解密
- 1111
- spring-Condition条件化配置
- bzoj1007: [HNOI2008]水平可见直线
- 删除linux路由遇到的一个问题
- QQ微博授权+LIBCURL+MFC(可视化窗口)
- java文件下载不显示中文文件名
- Spring处理后端数据基础