- 浏览: 1011247 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (826)
- 硬件 (8)
- 软件 (24)
- 软件工程 (34)
- JAVA (229)
- C/C++/C# (77)
- JavaScript (8)
- PHP (1)
- Ruby (3)
- MySQL (14)
- 数据库 (19)
- 心情记事 (12)
- 团队管理 (19)
- Hadoop (1)
- spring (22)
- mybatis(ibatis) (7)
- tomcat (16)
- velocity (0)
- 系统架构 (6)
- JMX (8)
- proxool (1)
- 开发工具 (16)
- python (10)
- JVM (27)
- servlet (5)
- JMS (26)
- ant (2)
- 设计模式 (5)
- 智力题 (2)
- 面试题收集 (1)
- 孙子兵法 (16)
- 测试 (1)
- 数据结构 (7)
- 算法 (22)
- Android (11)
- 汽车驾驶 (1)
- lucene (1)
- memcache (12)
- 技术架构 (7)
- OTP-Erlang (7)
- memcached (17)
- redis (20)
- 浏览器插件 (3)
- sqlite (3)
- Heritrix (9)
- Java线程 (1)
- scala (0)
- Mina (6)
- 汇编 (2)
- Netty (15)
- libevent (0)
- CentOS (12)
- mongod (5)
- mac os (0)
最新评论
-
kingasdfg:
你这里面存在一个错误添加多个任务 应该是这样的 /** * ...
Quartz的任务的临时启动和暂停和恢复【转】 -
kyzeng:
纠正一个错误,long型对应的符号是J,不是L。
Jni中C++和Java的参数传递 -
zhaohaolin:
抱歉,兄弟,只是留下作记录,方便学习,如果觉得资料不好,可以到 ...
netty的个人使用心得【转】 -
cccoooccooco:
谢谢!自己一直以为虚机得使用网线才可以与主机连接呢。。
主机网卡无网线连接与虚拟机通信 -
yuqilin001:
要转别人的东西,请转清楚点嘛,少了这么多类,误人子弟
netty的个人使用心得【转】
对于此类消息,其实就是指使用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都可以接受到。
发表评论
-
Advanced Message Queuing Protocol ( 3 ) 逻辑模型
2011-05-07 22:04 1167Sessions 建立在不同容器中的两个节点的链接必 ... -
Advanced Message Queuing Protocol ( 2 ) 逻辑模型
2011-05-07 22:04 966Nodes and Links 一个AMQP的网络包 ... -
Advanced Message Queuing Protocol ( 1 ) 概述
2011-05-07 22:03 1201The Advanced Message Queuing ... -
Apache Qpid (1) -- build
2011-05-07 22:02 1939http://qpid.apache.org/index.h ... -
ActiveMQ技术预研报告【转】
2011-04-22 14:44 1907ActiveMQ技术预研报告 研究部朱懋柱 1.文 ... -
ActiveMQ与MSMQ的异同【转】
2011-04-22 14:14 1910.NET下发送和接收ActiveMQ A:下载Act ... -
ActiveMQ在C#中的应用
2011-04-21 16:18 1195ActiveMQ 是个好东东,不必多说。ActiveM ... -
ActiveMQ实战之 Queue点对点消息【转】
2011-04-18 23:15 1206对于此类消息,其实就是指使用JMS中的发P2P(点对点)消息模 ... -
ActiveMQ实战(4):JMS的安全性【转】
2011-04-18 22:52 1226对于JMS服务的安全控制,ActiveMQ提供两种方式:简单授 ... -
ActiveMQ实战(3):Web控制台的安全性【转】
2011-04-18 22:52 1334安装好ActiveMQ后,其默认没有任何安全控制,任何人都可以 ... -
ActiveMQ实战(2):测试其是否正常工作【转】
2011-04-18 22:51 1201既然ActiveMQ安装好了并启动成功,接下来我们就编写一个测 ... -
ActiveMQ实战(1):安装与运行【转】
2011-04-18 22:45 1779ActiveMQ的项目主页:http://activemq.a ... -
[转] JMS开源比较
2011-03-30 23:46 1181Java开源JMS消息中间件 ... -
activemq5.2发送和接收BlobMessage简单实例
2011-03-29 23:45 1164package com.work.activemq ... -
ActiveMQ学习笔记----ActiveMQ和JBossMQ性能对比测试代码
2011-03-29 23:44 1221本文描述了对ActiveMQ进行性能测试的代码。性能测试用 ... -
ActiveMQ 实例
2011-03-29 23:21 10372009-06-24 ProducerTool.java ... -
activemq持久化配置,设置为主从模式(带复制的主从模式,应用mysql数据库)
2011-03-29 09:12 1819activemq持久化配置,设置为主从模式(带复制的主从模 ... -
ActiveMQ持久化消息的三种方式
2011-03-29 09:11 13621:前言 这一段给公司开发消息总线有机会研究A ... -
什么是JMS(Java消息服务)
2011-03-28 19:28 898在不同系统之间交换信息的一大障碍是如何在精确交换和格式化数据方 ... -
消息中间件和JMS
2011-03-28 19:26 790当前,CORBA、DCOM、RMI等R ...
相关推荐
而在发布/订阅消息传递域中,目的地被称为主题(topic),消息可被多个消费者消费。 消息生产者是会话创建的对象,用于将消息发送到指定的目的地。消息消费者是会话创建的对象,用于接收发送到目的地的消息。消息...
### ActiveMQ 实战 #### JMS 基本构件概览 **ActiveMQ** 是一个高性能、功能丰富的开源消息中间件,它实现了 **Java Message Service (JMS)** 规范。JMS 规范定义了一组接口,这些接口提供了一个标准的方式来进行...
5. **消息类型和模式**:ActiveMQ支持点对点(Queue)和发布/订阅(Topic)两种消息模式。点对点模式下,消息仅被一个消费者接收;发布/订阅模式下,消息可以被多个订阅者接收。 6. **高级特性**:ActiveMQ还提供了...
6. **前端集成**:在JavaScript代码中,需要创建WebSocket连接,然后使用Stomp.js订阅和发布消息。订阅者可以监听特定的队列或主题,而发布者则向这些目标发送消息。 7. **后端整合**:在后端,可能需要一个处理...
在本篇《ActiveMQ实战——实现一个简易版的聊天室》中,我们将深入探讨如何利用Apache ActiveMQ构建一个简单的在线聊天应用。ActiveMQ是Apache软件基金会的一个开源项目,它是一款功能强大的消息中间件,用于在...
- **定义**:ActiveMQ 是一个开源的消息中间件,它支持多种消息传递模式,如点对点 (PTP) 和发布/订阅 (Pub/Sub)。 - **特点**: - 支持多种协议,如 AMQP、STOMP、MQTT 等。 - 提供持久化存储选项,包括 KahaDB ...
在 JMS 中,主要有两个消息模型:点对点(Queue)和发布/订阅(Topic)。点对点模型中,消息由一个生产者发送到队列,一个消费者接收并处理该消息,一旦被消费,消息就会从队列中移除。而发布/订阅模型中,消息发布...
- **消息模型**:ActiveMQ支持多种消息模型,如点对点(Queue)和发布/订阅(Topic),分别适用于一对一和一对多的通信场景。 - **协议支持**:ActiveMQ支持多种消息协议,如开放消息传递接口(Openwire)、简单...
3. 主题示例:解释如何发布消息到主题,以及创建持久订阅和临时订阅。 4. 选择器:介绍如何使用消息选择器,让消费者只接收满足特定条件的消息。 5. 安全与认证:展示如何配置ActiveMQ的用户权限和身份验证。 6. ...
- **发布/订阅(Topic)**:多个消费者可以订阅同一个主题,当消息发布时,所有订阅者都能接收到,适合广播信息。 5. **ActiveMQ实战应用**: - **解耦**:ActiveMQ可以帮助系统组件之间解耦,降低依赖性,提高...
1. **JMS 概念**:JMS 提供了两种消息模型——点对点(Queue)和发布/订阅(Topic)。点对点模式下,每个消息仅被一个消费者接收;发布/订阅模式下,消息可被多个订阅者接收。 2. **创建连接**:使用 JMS API 创建与...
4. **多种消息模型**:支持点对点(Queue)和发布/订阅(Topic)两种消息模型。 5. **性能优化**:ActiveMQ使用高效的内存管理策略,以减少磁盘I/O操作,提高消息处理速度。 6. **多语言支持**:提供了多种语言的...
在这个模型中,生产者发布消息到一个主题,而所有订阅了该主题的消费者都能接收到消息。这使得广播消息和事件驱动的架构成为可能。在activeMQ.zip中,可能会有代码演示如何创建主题,注册订阅者,并发送消息到主题上...
总的来说,这个项目为我们提供了一个实战学习JMS和ActiveMQ的平台,通过源码分析,我们可以深入理解JMS的API用法,以及如何利用这些工具构建一个简单的消息系统。这有助于我们在实际开发中更好地应用消息队列技术,...
- **主题(Topic)**:广播模式,所有订阅者都能接收到消息。 - **队列(Queue)**:点对点模式,每条消息仅由一个消费者接收。 3. **Quartz介绍**:Quartz是一个开源的作业调度框架,可以精确控制任务的执行时间...
4. **定义Destination**:定义消息的目的地,可以是Queue(点对点)或Topic(发布/订阅模型)。 5. **配置MessageListenerContainer**:创建`DefaultMessageListenerContainer`,用于监听消息。可以设置并发消费者...
5. **主题(Topic)**:多播数据结构,允许多个消费者同时订阅并接收到消息。 6. **Broker**:ActiveMQ服务器,负责存储、路由和传递消息。 二、安装与配置ActiveMQ 1. **下载**:从官方网站获取最新版本的...
- Destination:消息的目的地,可以是Queue(点对点通信)或Topic(发布/订阅模式)。 4. **ActiveMQ的使用场景** - 异步处理:将耗时操作从主业务流程中分离,提高系统响应速度。 - 负载均衡:通过多个Consumer...
- **主题(Topic)与队列(Queue)**:主题支持多播,即一条消息可以被多个订阅者消费;队列则支持单播,消息只会被一个消费者消费。 - **持久化**:ActiveMQ允许消息持久化,即使在服务器重启后也能恢复未处理的...
- **发布/订阅(Pub/Sub)**:介绍主题(Topic)的概念,实现一对多的消息广播,多个订阅者可以同时接收到消息。 5. **高级特性** - **事务支持**:讲解JMS事务,确保消息在成功处理后才被确认。 - **消息重试与...