|
@@ -6,10 +6,12 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.amqp.core.Message;
|
|
|
import org.springframework.amqp.core.Queue;
|
|
|
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
|
|
|
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
|
|
import org.springframework.amqp.rabbit.connection.CorrelationData;
|
|
|
import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
@@ -33,12 +35,30 @@ public class RabbitmqConfig {
|
|
|
return new Queue(TableStoreBatchUpdateConsumer.TABLE_STORE_BATCH_UPDATE_QUEUE);
|
|
|
}
|
|
|
|
|
|
- @Autowired
|
|
|
- private CachingConnectionFactory factory;
|
|
|
+ @Value("${spring.rabbitmq.addresses}")
|
|
|
+ private String addresses;
|
|
|
+ @Value("${spring.rabbitmq.username}")
|
|
|
+ private String username;
|
|
|
+ @Value("${spring.rabbitmq.password}")
|
|
|
+ private String password;
|
|
|
+ @Value("${spring.rabbitmq.virtual-host}")
|
|
|
+ private String virtualHost;
|
|
|
+
|
|
|
+ @Bean("qmsConnectionFactory")
|
|
|
+ public ConnectionFactory connectionFactory() {
|
|
|
+ CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
|
|
|
+ connectionFactory.setAddresses(addresses);
|
|
|
+ connectionFactory.setUsername(username);
|
|
|
+ connectionFactory.setPassword(password);
|
|
|
+ connectionFactory.setVirtualHost(virtualHost);
|
|
|
+ connectionFactory.setPublisherConfirmType(CachingConnectionFactory.ConfirmType.SIMPLE);
|
|
|
+ connectionFactory.setPublisherReturns(true);
|
|
|
+ return connectionFactory;
|
|
|
+ }
|
|
|
|
|
|
@Bean(name = "qmsRabbitTemplate")
|
|
|
public RabbitTemplate rabbitTemplate(){
|
|
|
- RabbitTemplate template = new RabbitTemplate(factory);
|
|
|
+ RabbitTemplate template = new RabbitTemplate(this.connectionFactory());
|
|
|
template.setMessageConverter(new Jackson2JsonMessageConverter());
|
|
|
template.setMandatory(true);
|
|
|
template.setConfirmCallback((CorrelationData correlationData, boolean ack, String cause) ->
|