您的位置:首页 > 编程语言 > Java开发

rabbitmq的java简单的实现

2015-07-11 15:32 399 查看
1,安装rabbitmq.我的是ubuntu14.04,在官网上面下载最新的安装文件http://www.rabbitmq.com/install-debian.html

2.安装完之后 启动rabbitmq, sudo rabbitmq-server

3.下载jar包

4.最简单的hello world的实现

Sender类

package com.lubby.test;

import java.io.IOException;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class ClientSender {
private final static String QUEUE_NAME = "hello";

public static void main(String[] args) throws IOException {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
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("  Sent: '" + message + "'");
channel.close();
connection.close();
}
}


Receiver类

package com.lubby.test;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.QueueingConsumer;

public class ClientReceiver {
private final static String QUEUE_NAME = "hello";

public static void main(String[] argv) throws java.io.IOException,
java.lang.InterruptedException {

ConnectionFactory factory = new ConnectionFactory();
factory.setHost("127.0.0.1");
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(" Received:'" + message + "'");
}
}
}


5.測试

启动ClientReceiver-

[*] Waiting for messages. To exit press CTRL+C
启动ClientSender

Sent: 'Hello World'

ClientReceiver接收到消息

[*] Waiting for messages. To exit press CTRL+C
Received:'Hello World'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: