首页 > 代码库 > rabbitmq的java简单实现

rabbitmq的java简单实现

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'