mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 15:21:53 +08:00
修改 rabbitmq 序列化方式,使用 Jackson2JsonMessageConverter 替代
This commit is contained in:
parent
bf70707719
commit
1d239c9877
@ -1,12 +1,11 @@
|
|||||||
package cn.iocoder.yudao.framework.mq.rabbitmq.config;
|
package cn.iocoder.yudao.framework.mq.rabbitmq.config;
|
||||||
|
|
||||||
import cn.hutool.core.util.ReflectUtil;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.AutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
import java.lang.reflect.Field;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RabbitMQ 消息队列配置类
|
* RabbitMQ 消息队列配置类
|
||||||
@ -18,12 +17,12 @@ import java.lang.reflect.Field;
|
|||||||
@ConditionalOnClass(name = "org.springframework.amqp.rabbit.core.RabbitTemplate")
|
@ConditionalOnClass(name = "org.springframework.amqp.rabbit.core.RabbitTemplate")
|
||||||
public class YudaoRabbitMQAutoConfiguration {
|
public class YudaoRabbitMQAutoConfiguration {
|
||||||
|
|
||||||
static {
|
/**
|
||||||
// 强制设置 SerializationUtils 的 TRUST_ALL 为 true,避免 RabbitMQ Consumer 反序列化消息报错
|
* Jackson2JsonMessageConverter Bean:使用 jackson 序列化消息
|
||||||
// 为什么不通过设置 spring.amqp.deserialization.trust.all 呢?因为可能在 SerializationUtils static 初始化后
|
*/
|
||||||
Field trustAllField = ReflectUtil.getField(SerializationUtils.class, "TRUST_ALL");
|
@Bean
|
||||||
ReflectUtil.removeFinalModify(trustAllField);
|
public MessageConverter createMessageConverter() {
|
||||||
ReflectUtil.setFieldValue(SerializationUtils.class, trustAllField, true);
|
return new Jackson2JsonMessageConverter();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user