java rabbitmq MessageQueue 使用第一章
来源:互联网 发布:佳能mp228清零软件 编辑:程序博客网 时间:2024/06/14 22:58
一..环境搭建
运行message queue client 的 java代码需要3个步骤
1..装erlang环境
http://www.erlang.org/downloads
2..erlang环境为了rabbitmq 的server 安装做准备
http://www.rabbitmq.com/releases/rabbitmq-server/v3.3.4/rabbitmq-server-3.3.4.exe
3..安装server后, 写java 代码
message queue 官网 下载jar 包, 源码
http://www.rabbitmq.com/java-client.html
二..启动MQ server
将以上步骤做好后,启动rabbitmq server,启动方法在代码中查看
三..原理介绍
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法, 即MQ 用于进程通信
MQ client 的java API, 底层基于java 的socket 通信
发送端代码:
package MessageQueue;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.Connection;import com.rabbitmq.client.Channel;/** * 每次运行mq client前, 要启动mq server, * 路径: C:\r 软件可执行\rabbitmq_server\RabbitMQ Server\rabbitmq_server-3.3.4\sbin * 运行 rabbitmq-server.bat start * @author jalo li * */public class Send { 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); String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); System.out.println(" [x] Sent '" + message + "'"); channel.close(); connection.close();}}
接收端代码:
package MessageQueue;import com.rabbitmq.client.Channel;import com.rabbitmq.client.ConnectionFactory;import com.rabbitmq.client.QueueingConsumer;import com.rabbitmq.client.Connection;public class Recv { 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();//这个是阻塞方法,发送端publish一下,这里就能拿到一个delivery String message = new String(delivery.getBody()); System.out.println(" [x] Received '" + message + "'"); } }}
0 0
- java rabbitmq MessageQueue 使用第一章
- java 使用RabbitMQ示例
- JAVA-RabbitMQ使用示例
- rabbitmq安装使用 ,java环境
- Java与RabbitMQ(一) Windows环境使用rabbitmq
- rabbitmq介绍及rabbitmq在java中基础使用
- 使用java理解程序逻辑第一章
- RabbitMQ-三、Java使用--1.工作队列
- RabbitMQ-三、Java使用--2、发布/订阅
- mac下使用RabbitMQ(Java语言)
- 使用JAVA实现RabbitMQ的发送告警
- 使用rabbitMQ
- rabbitmq 使用
- RabbitMQ使用
- RabbitMQ使用
- rabbitmq使用
- rabbitmq使用
- rabbitMq使用
- 【算法导论学习-31】分治法解决同一个数连乘问题
- 实现函数 functionFunction,调用之后满足如下条件: 1、返回值为一个函数 f 2、调用返回的函数 f,返回值为按照调用顺序的参数拼接,拼接字符为英文逗号加一个空格,即 ', ' 3、所
- Unity5-ABSystem(四):AssetBundle依赖
- java实现多线程的一种简单方式
- STL空间配置器
- java rabbitmq MessageQueue 使用第一章
- Window下安装redis和配置集群
- js 隐式转换
- [Linux]Linux命令的英文全称
- RxJava 在Android中的应用(二)
- web 编程的简单学习路线
- 基于opencv的疲劳驾驶检测中人脸和人眼的检测
- 乐乐音乐3.0
- 用继承(inheritance)和组合(composition)设计