merge
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package com.xwbing.rabbit;
|
||||
|
||||
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
|
||||
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
||||
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
||||
/**
|
||||
* 项目名称: boot-module-demo
|
||||
* 创建时间: 2018/4/27 13:42
|
||||
* 作者: xiangwb
|
||||
* 说明: 配置类
|
||||
*/
|
||||
@Configuration
|
||||
public class RabbitConfig {
|
||||
@Value("${spring.rabbitmq.host}")
|
||||
private String host;
|
||||
@Value("${spring.rabbitmq.port}")
|
||||
private String port;
|
||||
@Value("${spring.rabbitmq.username}")
|
||||
private String username;
|
||||
@Value("${spring.rabbitmq.password}")
|
||||
private String password;
|
||||
@Value("${spring.rabbitmq.virtual-host}")
|
||||
private String virtualHost;
|
||||
@Value("${spring.rabbitmq.connection-timeout}")
|
||||
private int timeout;
|
||||
@Value("${spring.rabbitmq.publisher-confirms}")
|
||||
private boolean publisherConfirms;
|
||||
@Value("${spring.rabbitmq.publisher-returns}")
|
||||
private boolean publisherReturns;
|
||||
|
||||
@Bean
|
||||
public ConnectionFactory connectionFactory() {
|
||||
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
|
||||
connectionFactory.setAddresses(host + ":" + port);
|
||||
connectionFactory.setUsername(username);
|
||||
connectionFactory.setPassword(password);
|
||||
connectionFactory.setVirtualHost(virtualHost);
|
||||
connectionFactory.setConnectionTimeout(timeout);
|
||||
// 如果要进行消息回调,则这里必须要设置为true
|
||||
connectionFactory.setPublisherConfirms(publisherConfirms);
|
||||
connectionFactory.setPublisherReturns(publisherReturns);
|
||||
return connectionFactory;
|
||||
}
|
||||
|
||||
/**
|
||||
* 因为要设置回调类,所以应是prototype类型,如果是singleton类型,则回调类为最后一次设置
|
||||
*/
|
||||
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
||||
@Bean
|
||||
public RabbitTemplate rabbitTemplate() {
|
||||
return new RabbitTemplate(connectionFactory());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user