`
wwwxxx286
  • 浏览: 50401 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Apache Active MQ 之Queue

    博客分类:
  • Java
阅读更多
Apache Active MQ 之Queue

Pre-Condition: 安装Apache ActiveMQ并启动服务

消费者:
package com.wx.jms.queue;

import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

/**
 * @Class name:	Topic_Test.java
 *
 * Short description on the purpose of the program.
 *
 * @author:		wangxiang
 * @modified:	Mar 22, 2011
 *
 */

public class Queue_Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://localhost:61616");
		Connection conn = factory.createConnection();
		conn.start();
		
		Queue queue = new ActiveMQQueue("myqueue");
		Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
		
		MessageConsumer consumer1 = session.createConsumer(queue);
		consumer1.setMessageListener(new MessageListener(){
			public void onMessage(Message msg) {
				try {
					System.out.println("consumer1:" + ((TextMessage)msg).getText());
				} catch (JMSException e) {
					e.printStackTrace();
				}
			}
		});
		
		MessageConsumer consumer2 = session.createConsumer(queue);
		consumer2.setMessageListener(new MessageListener(){
			public void onMessage(Message msg) {
				try {
					System.out.println("consumer2:" + ((TextMessage)msg).getText());
				} catch (JMSException e) {
					e.printStackTrace();
				}
			}
		});
		
	}

}



生产者:
package com.wx.jms.queue;

import javax.jms.Connection;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

/**
 * @Class name: TopicProducer_Main.java
 * 
 *        Short description on the purpose of the program.
 * 
 * @author: wangxiang
 * @modified: Mar 22, 2011
 * 
 */

public class QueueProducer_Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(
				"tcp://localhost:61616");
		Connection conn = factory.createConnection();
		conn.start();

		Queue queue = new ActiveMQQueue("myqueue");
		Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
		MessageProducer producer = session.createProducer(queue);
		for (int i = 0; i < 10; i++) {
			producer.send(session.createTextMessage("msg " + i));
		}
	}

}



结果:
consumer2:msg 0
consumer1:msg 1
consumer2:msg 2
consumer1:msg 3
consumer2:msg 4
consumer1:msg 5
consumer2:msg 6
consumer1:msg 7
consumer2:msg 8
consumer1:msg 9
0
1
分享到:
评论

相关推荐

    Active MQ in Action

    《Active MQ in Action》是关于Apache ActiveMQ的权威指南,由Manning出版社出版。这本书深入浅出地介绍了ActiveMQ这一开源消息代理系统,是理解、配置、管理和优化ActiveMQ的关键资源。ActiveMQ是Apache软件基金会...

    Active MQ教程+配置

    2. **商业JMS Providers**:例如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ、NonStop Server for Java Message Service (JMS)、Sun Java System Message Queue、Sonic jms、TIBCO Enterprise For JMS和iLinkMQ...

    active MQ maven POM方式

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker API,JMS)标准,提供了可靠的消息传输服务。在Java开发环境中,Maven是常用的项目构建工具,它通过POM...

    active MQ ,消息队列

    ActiveMQ是Apache软件基金会开发的一款开源消息中间件,它遵循开放消息传递协议(Open Message Broker Protocol,即AMQP)和Java消息服务(Java Message Service,JMS)规范。消息队列是分布式系统中的一个重要概念...

    消息队列active mq

    ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的...

    active mq 学习笔记

    作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间进行消息传递。 **引入中间件的优势:** - **减少服务器间的依赖**:在没有引入消息中间件的情况下,各个服务之间可能存在大量的相互依赖...

    zis.rar_active MQ_activemq_java activeMQ_java 转发

    在这个"zis.rar_active MQ_activemq_java _activeMQ_java 转发"的压缩包中,我们可以推测其主要内容可能涉及如何使用ActiveMQ在Java环境中实现消息的转发功能。 首先,我们需要理解ActiveMQ的基本概念。ActiveMQ...

    active-mq开发手册

    ActiveMQ-CPP是Apache ActiveMQ的C++接口,允许开发者使用C++语言与ActiveMQ消息队列服务器进行通信。此外,Winkeemq-cpp是基于ActiveMQ-CPP构建的API库,它进一步简化了编程,通过处理初始化、清理等常规任务,减轻...

    C#实现同Active MQ通讯的方法

    - 根据消息类型(如点对点Queue或发布订阅Topic),创建消息目标(Destination)。 - 生产者通过会话向目标发送消息,消费者从目标接收消息。 ActiveMQ还支持消息过滤机制,允许生产者为消息设置属性(Properties)...

    ActiveMQ入门示例

    2.解压缩apache-activemq-5.5.1-bin.zip,然后双击apache-activemq-5.5.1\bin\activemq.bat运行ActiveMQ程序。 3、启动ActiveMQ以后,登陆:http://localhost:8161/admin/,创建一个Queue,命名为FirstQueue。

    activeMQ集成SpringMVC,三种方式监听

    &lt;bean id="queue" class="org.apache.activemq.command.ActiveMQQueue"&gt; ``` 接下来,创建消息监听器容器和监听器,如下所示: ```xml &lt;property name="destination" ref="queue"/&gt; ``` ...

    Artemis 高性能的MQ

    在高性能的消息系统领域,Artemis已经成为了业界的标准之一。 Artemis的主要特点包括: 1. **高性能**:Artemis为消息的生产与消费提供了高度的并行性支持,大大提升了消息处理的效率。 2. **灵活的地址模型**:...

    jms之activeMQ 队列和广播模式例子(主要给初学者提供入门知识)

    这篇博客"jms之activeMQ 队列和广播模式例子"主要面向初学者,旨在提供ActiveMQ入门级的知识,通过实例解释队列(Queue)和主题(Topic)这两种基本的消息模式。 首先,我们要理解JMS中的队列和主题的区别。队列...

    activemq-5.14.4

    Apache ActiveMQ是业界广泛使用的开源消息中间件,它遵循开放消息中间件协议(Open Message Queue,简称OMQ),提供高效、可靠的消息传递服务。ActiveMQ 5.14.4是该软件的一个稳定版本,适合在多种操作系统上运行,...

    消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较

    在现代分布式系统中,消息中间件(Message Queue, MQ)扮演着至关重要的角色,它们用于在分布式组件之间传输消息,帮助解决网络延迟、组件故障等问题,提高系统的整体健壮性和可扩展性。本文将详细比较Kafka、...

    用C#实现的ActiveMQ发布/订阅消息传送

    在IT行业中,消息队列(Message Queue)是一种重要的中间件技术,它允许应用程序之间通过异步通信进行数据交换。在本场景中,我们关注的是如何使用C#编程语言结合ActiveMQ来实现发布/订阅模式的消息传送。ActiveMQ是...

    获取MQ的值通过openfire推送消息源码【史上最强版】

    在IT行业中,消息队列(Message Queue,MQ)和Openfire是两个重要的技术概念,用于构建高效、可扩展的应用系统。本资源提供了通过MQ获取值并利用Openfire进行消息推送的源码,被誉为“史上最强版”,对于学习和实践...

    JMS模拟ActiveMQ代理服务器并实现消息收发

    ActiveMQ是Apache软件基金会开发的一款开源消息代理,它实现了JMS规范,提供了可靠的消息传递功能。通过模拟ActiveMQ代理服务器,我们可以理解JMS的工作原理,并学习如何利用Java代码创建一个简易的消息中间件。 ...

    ActiveMQ / RabbitMQ 示例

    首先,ActiveMQ是由Apache开发的开源消息代理,它是JMS 1.1规范的实现者。ActiveMQ支持多种协议,包括开放消息传递协议(Openwire)、AMQP、STOMP、MQTT和WebSockets,这使得它能够与多种编程语言和平台无缝集成。在...

Global site tag (gtag.js) - Google Analytics