之前我们已经对直连模式进行了讲解,并且用代码实现了发送端和接收端,但是发送端和接收端的代码有很多的重复的,我们就需要优化代码,提取冗余的代码为工具类。
package utils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.io.IOException; import java.util.concurrent.TimeoutException; /** * @author * @date 2020/10/20--13:55 */ public class RabbitMqUtils { private static ConnectionFactory connectionFactory; static { connectionFactory = new ConnectionFactory(); // 创建连接mq的连接工厂对象,这个是依赖里面的类,我们只需要拿过来创建对象就可以了 // 设置连接rabbitmq的ip connectionFactory.setHost("192.168.40.145"); // 设置端口号 connectionFactory.setPort(5672); // 设置连接的虚拟的主机 connectionFactory.setVirtualHost("/ems"); // 设置访问虚拟主机的用户名和密码 connectionFactory.setUsername("ems"); connectionFactory.setPassword("123"); } // 定义提供连接对象的方法 public static Connection getConnection() { try { return connectionFactory.newConnection(); } catch (Exception e) { e.printStackTrace(); } return null; } //关闭通道和关闭连接的方法 public static void closeConnectionAndChannel(Channel channel,Connection coon) { try { if (channel!=null) channel.close(); if ( coon!=null)coon.close(); } catch (Exception e) { e.printStackTrace(); } } }