rabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License 开源协议。
关于amqp可参考http://www.oschina.net/p/rabbitmq/
rabbitmq是一个消费的代理;通过生产者客户端生产一个信息,转送给消费者客户端;在这个传输过程中,根据你的需要可以经过路由、缓冲、持久化来得到这个消息。
先通过一个例子开始:通过rabbitmq输出"Hello World!"
其中P代表生产者、C表示消费者、中间红色部分代表消息队列
生产者客户端的发送消息程序如下:
- package com.abin.test;
- import java.io.IOException;
- import com.rabbitmq.client.Channel;
- import com.rabbitmq.client.Connection;
- import com.rabbitmq.client.ConnectionFactory;
- public class Send {
- private final static String QUEUE_NAME = "hello";
- public static void main(String[] args) throws IOException {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost("localhost");
- Connection connection = factory.newConnection();
- Channel channel = connection.createChannel();
- channel.queueDeclare(QUEUE_NAME, false, false, false, null);
- String message = "Hello World!";
- channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
- System.out.println(" [x] Sent '" + message + "'");
- channel.close();
- connection.close();
- }
- }
运行结果如下:
- [x] Sent 'Hello World!'
消费者客户端接收消息程序如下:
- package com.abin.test;
- import com.rabbitmq.client.Channel;
- import com.rabbitmq.client.Connection;
- import com.rabbitmq.client.ConnectionFactory;
- import com.rabbitmq.client.QueueingConsumer;
- public class Reqv {
- private final static String QUEUE_NAME = "hello";
- public static void main(String[] argv) throws Exception {
- ConnectionFactory factory = new ConnectionFactory();
- factory.setHost("localhost");
- Connection connection = factory.newConnection();
- Channel channel = connection.createChannel();
- channel.queueDeclare(QUEUE_NAME, false, false, false, null);
- System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
- QueueingConsumer consumer = new QueueingConsumer(channel);
- channel.basicConsume(QUEUE_NAME, true, consumer);
- while (true) {
- QueueingConsumer.Delivery delivery = consumer.nextDelivery();
- String message = new String(delivery.getBody());
- System.out.println(" [x] Received '" + message + "'");
- }
- }
- }
运行程序得到的结果如下:
- [*] Waiting for messages. To exit press CTRL+C
- [x] Received 'Hello World!'
如果消费者出现“[x] Received 'Hello World!'”说明已接收到此消息信息。
相关推荐
RabbitMQ-HelloWorld:RabbitMQ的Hello World示例
rabbitmq HelloWorld java 工程
spring和rabbitmq整合的helloworld
rabbitmq-java-helloworld 只是第一个rabbitmq的例子 => hello world 消费者不能关闭连接,需要一直轮询查看是否存在消息 rabbitmq-java-queque rabbitmq任务队列示例 rabbitmq-java-publish-receive rabbitmq发布...
RabbitMQ hello world源码
基于RabbitMQ实现的HelloWorld消息队列实现,入门级别
实现了基础的rabbitmq的连接,生产者和消费者。 有助于初学者学习如何使用java来操作rabbitmq
mongodb-hello-world:介绍 MongoDB Java API 基本用法的项目。 mongodb-发布-订阅: mongodb-路由: mongodb-rpc: mongodb 主题: mongodb-工作队列: 基准测试 mongodb 基准测试: 执照 RabbitMQ 示例在 GNU...
该文件中包含RebbitMQ3.6.6 jar包,RebbitMQ3.6.6安装文件,以及maven项目Hello World实例
兔子MQ RabbitMQ实践包括6种做法,例如01:Hello World 02:Work Queues 03:Publish Subscribe 04:Routing 05:Topics 06:RPC
NULL 博文链接:https://anhongyang125.iteye.com/blog/2347891
http://blog.csdn.net/lmj623565791/article/category/2386657 提供了很多代码示例,代码中的01-05分别为:hello world、工作队列、发布订阅、路由选择和主题
rabbitMQ官方Demo,包含01HelloWorld,02WorkQueues,03PublishSubscribe,04Routing,05Topics,06RPC六个示例
4、Hello World 5、work 模式. j! Z2 v2 e. j* r1 R2 R 6、消息确认 7、Publish_Subscribe发布订阅模式3 d) y5 t6 A1 R 8、route 路由模式1 W. q/ p. b0 C 9、topic模式 10、整合spring方式-1 11、整合sring方式-2 ...
spring-boot-helloWorld:spring-boot的helloWorld版本 spring-boot-mybaits-annotation:注解版本 spring-boot-mybaits-xml:xml配置版本 spring-boot-mybatis-mulidatasource:springboot+mybatis多数据源最简解决...
esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装就行,可以直接下载就可安装,非常的方便...4. erlang安装后要检查能否编译成功一个helloworld文件。 5. rabbitMQ无法安装插件时非常有可能是erlang出问题了。
#rabbitMQ repository主要记录个人学习reabbit的相关demorabbitmq-java-helloworld只是第一个rabbitmq的例子 => hello world消费者不能关闭连接,需要一直轮询查看是否存在消息rabbitmq-java-quequerabbitmq任务队列...
我们将用Java编写两个程序;发送单个消息的生产者,以及接收消息并将其打印出来的消费者。我们将详细介绍Java API中的一些细节,这是一个消息传递的“Hello World”。
RabbitMQ是一个消息代理,核心原理:发送消息,接收消息...首先通过一个非常简单的”helloworld“例子介绍如何使用RabbitMQ,然后再介绍其涉及的基本概念并对交换机和队列多做点介绍。本例非常简单——发送一个消息”h
包含了rabbitmq的helloworld以及三种交换机模式,虽然只是简单的main方法测试,但也能模拟出相关场景,仅供参考,适合入门,不喜勿喷,谢谢