一:先下载Elang下载后,再下载rabbitMQ的服务端并安装
二:这是连接工厂
/**
* Rabbit的连接工厂
*/
public class RabbitConnectionFactory {
/**
* @return
* @throws IOException
* @throws TimeoutException
*/
public static Connection getConnection() throws IOException, TimeoutException {
//创建一个连接工厂
ConnectionFactory factory = new ConnectionFactory();
//设置ip
factory.setHost("127.0.0.1");
//设置端口 amqp
factory.setPort(5672);
//设置virtual名 --相当于数据库名.
factory.setVirtualHost("/virtual_stj");
//用户名及密码
factory.setUsername("stj");
factory.setPassword("123456");
//返回这个factory创建的连接
return factory.newConnection();
}
}
三:消息生产者
/**
* 消息生产者
*/
public class Pro {
private static final String QUEUE_NAME = "queue_name";
public static void main(String[] args) throws IOException, TimeoutException {
//获取一个连接
Connection connection = RabbitConnectionFactory.getConnection();
//创建一个信道
Channel channel = connection.createChannel();
//创建队列声明
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
String msg = "这是发送的内sa容~~~";
channel.basicPublish("", QUEUE_NAME, null, msg.getBytes());
System.out.println("成功-->发送的内容:" + msg);
channel.close();
connection.close();
}
}
四:消息接受者(消费者)
/**
* 消费者接受消息
*/
public class Cus {
private static final String QUEUE_NAME = "queue_name";
public static void main(String[] args) throws IOException, TimeoutException {
//获取一个连接
Connection connection = RabbitConnectionFactory.getConnection();
//生命一个通道
Channel channel = connection.createChannel();
//定义消费者
DefaultConsumer consumer = new DefaultConsumer(channel) {
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
String msg = new String(body);
System.out.println("这是接受到的信息-->:" + msg);
}
};
//监听列队
channel.basicConsume(QUEUE_NAME, true, consumer);
}
}