針對遠程連接(資料庫、RabbitMq)等,一般有兩種方式。
第一種使用傳統方式:
針對遠程連接(資料庫、RabbitMq)等,一般有兩種方式。
第一種使用傳統方式:
//1 創建一個ConnectionFactory, 并進行配置
ConnectionFactory connectionFactory = new ConnectionFactory(Host,Port,Username,Password);
//2 通過連接工廠創建連接
Connection connection = connectionFactory.newConnection();
//3 通過connection創建一個Channel
Channel channel = connection.createChannel();
//4 通過Channel發送資料
for(int i=0; i < 5; i++){
String msg = "Hello RabbitMQ!";
channel.basicPublish("", "test001", null, msg.getBytes());
}
//5 記得要關閉相關的連接
channel.close();
connection.close();
第二種使用SpringBoot自動裝配
@Configuration
public class RabbitMQTemplateConfig {
@Value("{rabbit.addresses}")
private String ADDRESSES;
@Value("{rabbit.virtual_host}")
private String VIRTUAL_HOST;
@Value("{rabbit.user_name}")
private String USER_NAME;
@Value("{rabbit.password}")
private String PASSWORD;
@Bean
public CachingConnectionFactory cachingConnectionFactory() {
CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory();
cachingConnectionFactory.setAddresses(ADDRESSES);
cachingConnectionFactory.setVirtualHost(VIRTUAL_HOST);
cachingConnectionFactory.setUsername(USER_NAME);
cachingConnectionFactory.setPassword(PASSWORD);
return cachingConnectionFactory;
}
@Bean
public RabbitTemplate rabbitTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate(cachingConnectionFactory());
rabbitTemplate.setMessageConverter(jackson2JsonMessageConverter());
return rabbitTemplate;
}
@Bean
public MessageConverter jackson2JsonMessageConverter() {
Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
return jackson2JsonMessageConverter;
}
}
那么在第二種使用SpringBoot自動裝配時,CachingConnectionFactory并沒有手動釋放,是不是創建CachingConnectionFactory的Bean交給IOC以后,不用釋放?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/270359.html
標籤:Java相關
