下面的代码(代码清单子 1 )用来在给定的参数(lp 地址、端口号、用户名、密码等)下
连接 RabbitMQ:
public static Connection getConnection() throws IOException, TimeoutException{
//定义一个连接工厂
ConnectionFactory factory =new ConnectionFactory();
//设置服务地址
factory.setHost(IP_ADDRESS);
//AMQP 5672
factory.setPort(PORT);
//vhost
factory.setVirtualHost("/sunfeng");
//用户名
factory.setUsername("sunfeng");
//密码
factory.setPassword("sunfeng");
return factory.newConnection();
}
Connection 可以 用来创建多个 Channel 实例,但是 Channel 实例不能在线程问共享,应用程序应该为每一个线程开辟一个
Channel 。某些情况下 Channel 的操作可以并发运行,但是在其他情况下会导致在网络上出现错误的通信帧交错,同时也会
影响友送方确认( publisher confrrm)机制的运行
所以多线程问共享 Channel 实例是非线程安全的 。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。