ActiveMq持久订阅小例子
来源:互联网 发布:mysql 连续 天 统计 编辑:程序博客网 时间:2024/05/22 03:40
public class ProducerTopic { public static void main(String[] args) throws JMSException { String user = ActiveMQConnectionFactory.DEFAULT_USER; String password = ActiveMQConnectionFactory.DEFAULT_PASSWORD; String brokerUrl = "tcp://hadoop2:61616"; ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, brokerUrl); /** * 创建连接并开启 */ Connection connection = connectionFactory.createConnection(); /** * 创建session * 参数1:不启动事务 * 参数2:签收模式为自动签收 */ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); /** * 创建topic或者queue */ Topic topic_2 = session.createTopic("topic_2"); /** * 创建生产者 */ MessageProducer producer = session.createProducer(topic_2); //此生产者生产的数据持久化 producer.setDeliveryMode(DeliveryMode.PERSISTENT); /** * 注意,一定要在设置了持久化之后再启动connection */ connection.start(); /** * 生产数据 */ for (int i = 0; i < 10; i++) { TextMessage textMessage = session.createTextMessage(); textMessage.setText("hello java " + i); producer.send(textMessage); } /** * 释放连接 */ connection.close(); }}
public class ConsumerTopic { public static void main(String[] args) { String user = ActiveMQConnectionFactory.DEFAULT_USER; String password = ActiveMQConnectionFactory.DEFAULT_PASSWORD; String brokerUrl = "tcp://hadoop2:61616"; ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(user, password, brokerUrl); Connection connection = null; try { /** * 创建连接并开启,注册一个客户号,让broker知道是谁订阅了。 * 需要在producer发消息之前,先运行一下此程序,目的是注册订阅信息,然后就可以关闭程序 * 这样就可以做到再次启动时,收到离线的消息。 */ connection = connectionFactory.createConnection(); connection.setClientID("c1"); /** * 创建session * 参数1:不启动事务 * 参数2:签收模式为自动签收 */ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); /** * 创建topic或者queue */ Topic topic_2 = session.createTopic("topic_2"); //对于topic_2,建立持久订阅,名字随便起 TopicSubscriber durableSubscriber = session.createDurableSubscriber(topic_2, "somebody"); connection.start(); /** * 消费数据 */ while (true) { TextMessage textMessage = (TextMessage) durableSubscriber.receive(); System.out.println("消费消息:" + textMessage.getText()); } } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { try { connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } }}
0 0
- ActiveMq持久订阅小例子
- ActiveMQ持久订阅设置
- ActiveMQ 中的持久订阅配置
- ActiveMQ之Topic的持久订阅
- ActiveMQ订阅模式持久化实现
- Spring+ActiveMQ消息持久化,Topic持久化订阅
- springboot activemq 2 持久化消息 与 持久化订阅
- 如何实现ActiveMQ的Topic的持久订阅。
- 如何实现ActiveMq的Topic的持久订阅
- Spring配置ActiveMQ持久化发布、订阅Topic
- 如何实现ActiveMq的Topic的持久订阅
- JMS学习六(ActiveMQ Topic之持久订阅)
- activeMQ消息详解(续) 订阅(主题)消息(消息持久化)
- 如何实现ActiveMQ的Topic的持久订阅。
- ActiveMQ入门学习小例子
- JMS学习十一(Spring+ActiveMQ消息持久化,Topic持久化订阅)
- activemq 发布者/订阅 springmvc maven 例子[代码参考]
- ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
- Spring mvc 实现文件上传
- 排序算法性能对比
- 如何在页面上减少用户操作?
- 详细讲解Android View的绘制流程
- select函数详解
- ActiveMq持久订阅小例子
- spring mvc、meven结合mybatis
- 计算机系统漫游
- 【JZOJ5060】【GDOI2017第二轮模拟day1】公路建设
- Linux系统编程第14章-系统编程概念
- 文章标题
- 最小差
- CodeForces
- 自己实现的库函数(memset,memcmp,memcpy,memmove)