|
@@ -1,12 +1,11 @@
|
|
|
package cn.iocoder.yudao.framework.mq.rabbitmq.config;
|
|
|
|
|
|
-import cn.hutool.core.util.ReflectUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.springframework.amqp.utils.SerializationUtils;
|
|
|
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
|
|
|
+import org.springframework.amqp.support.converter.MessageConverter;
|
|
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
|
-
|
|
|
-import java.lang.reflect.Field;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
|
|
|
/**
|
|
|
* RabbitMQ 消息队列配置类
|
|
@@ -18,12 +17,12 @@ import java.lang.reflect.Field;
|
|
|
@ConditionalOnClass(name = "org.springframework.amqp.rabbit.core.RabbitTemplate")
|
|
|
public class YudaoRabbitMQAutoConfiguration {
|
|
|
|
|
|
- static {
|
|
|
- // 强制设置 SerializationUtils 的 TRUST_ALL 为 true,避免 RabbitMQ Consumer 反序列化消息报错
|
|
|
- // 为什么不通过设置 spring.amqp.deserialization.trust.all 呢?因为可能在 SerializationUtils static 初始化后
|
|
|
- Field trustAllField = ReflectUtil.getField(SerializationUtils.class, "TRUST_ALL");
|
|
|
- ReflectUtil.removeFinalModify(trustAllField);
|
|
|
- ReflectUtil.setFieldValue(SerializationUtils.class, trustAllField, true);
|
|
|
+ /**
|
|
|
+ * Jackson2JsonMessageConverter Bean:使用 jackson 序列化消息
|
|
|
+ */
|
|
|
+ @Bean
|
|
|
+ public MessageConverter createMessageConverter() {
|
|
|
+ return new Jackson2JsonMessageConverter();
|
|
|
}
|
|
|
|
|
|
}
|