java远程连接虚拟机RabbitMQ错误
先声明本人遇到问题的解决方案:同时开放虚拟机的15672端口和5672端口
一 ,代码
生产者代码如图所示
package Simple;
import Utils.RabbitMQUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
//生产者
public class Productor {
private final static String QUEUE_NAME = "hello";
public static void main(String[] args) throws Exception {
//创建一个连接工厂
ConnectionFactory factory = new ConnectionFactory();
//此处xxx.xxx.xxx.xxx为你的虚拟机的ip地址
factory.setHost("xxx.xxx.xxx.xxx");
factory.setUsername("root");
factory.setPassword("root");
factory.setPort(5672);
//channel 实现了自动 close 接口 自动关闭 不需要显示关闭
try(Connection connection = factory.newConnection();Channel channel =
connection.createChannel()) {
/**
* 生成一个队列
* 1.队列名称
* 2.队列里面的消息是否持久化 默认消息存储在内存中
* 3.该队列是否只供一个消费者进行消费 是否进行共享 true 可以多个消费者消费
* 4.是否自动删除 最后一个消费者端开连接以后 该队列是否自动删除 true 自动删除
* 5.其他参数
*/
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
String