rabbitmq的java简单的实现

时间:2023-03-08 16:24:00
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'

版权声明:本文博客原创文章,博客,未经同意,不得转载。