赞
踩
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.8.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Producer { //队列名称 public static final String QUEUE_NAME = "hello"; //发消息 public static void main(String[] args) throws IOException, TimeoutException { //创建一个链接工厂 ConnectionFactory factory = new ConnectionFactory(); //工厂ip 链接mQ队列 factory.setHost("xxx.xxx.xxx.xxx"); //用户名 factory.setUsername("root"); //密码 factory.setPassword("root"); //创建链接 Connection connection = factory.newConnection(); //获取信道 Channel channel = connection.createChannel(); /** * 生成一个队列 * 1.队列名称 * 2.队列消息是否持久化(磁盘)默认存在内存上 * 3.该队列是否只供一个消费者进行消费 true是共享 * 4.是否自动删除 ,最后一个消费者断开后是否自动删除 true是删除 * 5. 其他参数 */ channel.queueDeclare(QUEUE_NAME,true,false,false,null); //发消息 String message = "hello world"; /** * 发送一个消息 * 1.发送到哪个交换机 * 2.路由的Key值是那个 本次是队列的名称 * 3.其他参数信息 * 4.发送消息的消息体 */ channel.basicPublish("",QUEUE_NAME,null,message.getBytes()); System.out.println("消息发送完毕"); } }
import com.rabbitmq.client.*; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Consumer { //队列名称 public static final String QUEUE_NAME = "hello"; //接受消息 public static void main(String[] args) throws IOException, TimeoutException { //创建连接工厂 ConnectionFactory factory = new ConnectionFactory(); //工厂ip 链接mQ队列 factory.setHost("124.220.3.19"); //用户名 factory.setUsername("root"); //密码 factory.setPassword("root"); //创建链接 Connection connection = factory.newConnection(); //获取信道 Channel channel = connection.createChannel(); //声明_接手消息 DeliverCallback deliverCallback = (consumerTag,message) ->{ System.out.println(new String(message.getBody())); }; //取消消息时的回调 CancelCallback cancelCallback = consumerTag ->{ System.out.println("消费消息被中断"); }; /** * 消费者消费消息 * 1.消费哪个队列 * 2.消费之后是否要自动应答 true自动 false手动 * 3.消费未成功的回调 * 4.消费者取消消费回调 */ channel.basicConsume(QUEUE_NAME,true,deliverCallback,cancelCallback); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。