
1、创建工程,导入依赖
com.rabbitmq amqp-client5.6.0
2、创建配置类
提供者:
public class Provider{
public static void main(String[] args) throws IOException, TimeoutException {
//创建连接工厂对象
ConnectionFactory connectionFactory = new ConnectionFactory();
//设置RabbitMQ服务主机地址,默认localhost
connectionFactory.setHost("192.168.0.110");
//设置服务端口,默认5672
connectionFactory.setPort(5672);
//设置虚拟主机名字
connectionFactory.setVirtualHost("/bqsd");
//设置用户连接名
connectionFactory.setUsername("bqsd");
connectionFactory.setPassword("xj");
//创建连接
Connection connection = connectionFactory.newConnection();
//创建频道
Channel channel = connection.createChannel();
channel.queueDeclare("zhao",true,false,false,null);
String message = "不要删我";
channel.basicPublish("","zhao",null,message.getBytes());
//关闭资源
channel.close();
connection.close();
}
}
浏览器输入:192.168.0.110:15672 以用户名guest和密码guest 来进入(地址用自己的ip)
消费者:
public class Consumer {
public static void main(String[] args) throws IOException, TimeoutException {
//创建链接工厂对象
ConnectionFactory connectionFactory = new ConnectionFactory();
//设置RabbitMQ服务主机地址,默认localhost
connectionFactory.setHost("192.168.0.110");
//设置RabbitMQ服务端口,默认5672
connectionFactory.setPort(5672);
//设置虚拟主机名字,默认/
connectionFactory.setVirtualHost("/bqsd");
//设置用户连接名,默认guest
connectionFactory.setUsername("bqsd");
//设置链接密码,默认guest
connectionFactory.setPassword("xj");
//创建链接
Connection connection = connectionFactory.newConnection();
//创建频道
Channel channel = connection.createChannel();
//创建队列
channel.queueDeclare("simple_queue",true,false,false,null);
//创建消费者,并设置消息处理
DefaultConsumer defaultConsumer = new DefaultConsumer(channel){
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException {
//路由的key
String routingKey = envelope.getRoutingKey();
//获取交换机信息
String exchange = envelope.getExchange();
//获取消息ID
long deliveryTag = envelope.getDeliveryTag();
//获取消息信息
String message = new String(body,"UTF-8");
System.out.println("routingKey:"+routingKey+",exchange:"+exchange+",deliveryTag:"+deliveryTag+",message:"+message);
}
};
channel.basicConsume("simple_queue",true,defaultConsumer);
//关闭资源(不建议关闭,建议一直监听消息)
//channel.close();
//connection.close();
}
}
打开Queue,点击自己的队列,发送消息
Ok!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)