ActiveMQ实战之 Topic发布订阅消息
来源:互联网 发布:会场安排问题 贪心算法 编辑:程序博客网 时间:2024/05/01 16:26
对于此类消息,其实就是指使用JMS中的发布订阅消息模型的消息,下面是一个简单的例子
消息发布者
- package com.googlecode.garbagecan.jmsstudy.activemq.topic;
- import org.apache.activemq.ActiveMQConnectionFactory;
- import javax.jms.*;
- public class TopicPublisher {
- public static void main(String[] args) throws JMSException {
- ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
- Connection connection = factory.createConnection();
- connection.start();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- Topic topic = session.createTopic("myTopic.messages");
- MessageProducer producer = session.createProducer(topic);
- producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
- while(true) {
- TextMessage message = session.createTextMessage();
- message.setText("message_" + System.currentTimeMillis());
- producer.send(message);
- System.out.println("Sent message: " + message.getText());
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- // session.close();
- // connection.stop();
- // connection.close();
- }
- }
消息订阅者(消息消费者)
- package com.googlecode.garbagecan.jmsstudy.activemq.topic;
- import org.apache.activemq.ActiveMQConnectionFactory;
- import javax.jms.*;
- public class TopicSubscriber {
- public static void main(String[] args) throws JMSException {
- ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
- Connection connection = factory.createConnection();
- connection.start();
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- Topic topic = session.createTopic("myTopic.messages");
- MessageConsumer consumer = session.createConsumer(topic);
- consumer.setMessageListener(new MessageListener() {
- public void onMessage(Message message) {
- TextMessage tm = (TextMessage) message;
- try {
- System.out.println("Received message: " + tm.getText());
- } catch (JMSException e) {
- e.printStackTrace();
- }
- }
- });
- // session.close();
- // connection.stop();
- // connection.close();
- }
- }
分别运行两个类,就可以看到Publisher发布的类,Subscriber都可以接受到。
转载来自:http://blog.csdn.net/kongxx/article/details/6230572
0 0
- ActiveMQ实战之 Topic发布订阅消息
- ActiveMQ实战之 Topic发布订阅消息
- ActiveMQ实战之 Topic发布订阅消息
- ActiveMQ实战之 Topic发布订阅消息
- ActiveMQ实战之 Topic发布订阅消息
- ActiveMQ Topic发布订阅消息
- ActiveMQ 发布订阅(Topic)
- 深入浅出JMS(五)--ActiveMQ Topic发布订阅消息
- ActiveMQ 发布订阅(topic)模式_发送消息和接收消息
- 3,ActiveMQ-Topic订阅发布模式
- 消息中间件-activemq实战整合Spring之Topic模式(五)
- 利用JMS Topic发布/订阅消息
- 利用JMS Topic发布/订阅消息
- ActiveMQ之Topic的持久订阅
- activeMQ消息中间件之点对点与发布订阅模式实现
- ActiveMQ发布消息和订阅消息
- Spring配置ActiveMQ持久化发布、订阅Topic
- Spring+ActiveMQ消息持久化,Topic持久化订阅
- EL表达式函数-获取字符串长度、截取字符串
- Oracle ALL, ANY and SOME比较
- Android插件化基础
- 吊炸天乐视推第4代超级电视X50系列 生态电视成主流消费模式
- C语言程序运行期间所作工作的概览
- ActiveMQ实战之 Topic发布订阅消息
- Android 常用布局及基本UI控件
- java内存布局图
- Android Studio使用Git上传项目以及从本地Clone GitHub上的项目
- github使用笔记-- GitHub Desktop 下载、安装、使用
- RMAN异机恢复
- TestNG 学习总结 - 分组执行测试(九)
- 关于设置登录过滤权限后 css和js无法加载问题
- iOS 将原点移动到navigationBar下面(或UIScrollView和 cell加载子视图偏移64问题)