|
|
@@ -2,6 +2,13 @@ package com.usoftchina.smartschool.wechat.config;
|
|
|
|
|
|
|
|
|
import org.springframework.amqp.core.*;
|
|
|
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
|
|
|
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
|
|
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
|
|
|
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
|
|
|
+import org.springframework.amqp.support.converter.ContentTypeDelegatingMessageConverter;
|
|
|
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
|
|
|
+import org.springframework.amqp.support.converter.MessageConverter;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
@@ -70,4 +77,30 @@ public class RabbitConfig {
|
|
|
Binding delayBind(Queue createDelayQueue, TopicExchange createExchange) {
|
|
|
return BindingBuilder.bind(createDelayQueue).to(createExchange).with(delayKey);
|
|
|
}
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public RabbitAdmin rabbitTemplate(ConnectionFactory connectionFactory) {
|
|
|
+ return new RabbitAdmin(connectionFactory);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory, MessageConverter messageConverter) {
|
|
|
+ RabbitTemplate template = new RabbitTemplate(connectionFactory);
|
|
|
+ template.setMessageConverter(messageConverter);
|
|
|
+ return template;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory, MessageConverter messageConverter) {
|
|
|
+ SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
|
|
|
+ factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);
|
|
|
+ factory.setConnectionFactory(connectionFactory);
|
|
|
+ factory.setMessageConverter(messageConverter);
|
|
|
+ return factory;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Bean
|
|
|
+ public MessageConverter messageConverter() {
|
|
|
+ return new ContentTypeDelegatingMessageConverter(new Jackson2JsonMessageConverter());
|
|
|
+ }
|
|
|
}
|