问题:
Caused by: java.lang.SecurityException: Attempt to deserialize unauthorized class cn.seczone.sscsp.common.model.TaskSbomMessageMq; add allowed class name patterns to the message converter or, if you trust the message orginiator, set environment variable ‘SPRING_AMQP_DESERIALIZATION_TRUST_ALL’ or system property ‘spring.amqp.deserialization.trust.all’ to true
颠末查博客和gpt终极得到几个结果
方案一:
在设置文件设置信托的类
- spring:
- rabbitmq:
- listener:
- simple:
- allowed-classes:
- - cn.baidu.kkscsp.common.mq.TaskSbomMessageMq
- - cn.baidu.kkscsp.common.mq.TaskMessageMq
复制代码 方案二:
自界说一下一个消息转换的bean,并在此中设置信托的包,即实体类的路径
生产者:
- public class RabbitMQConfig {
- @Bean
- public MessageConverter jsonToMapMessageConverter() {
- DefaultClassMapper defaultClassMapper = new DefaultClassMapper();
- defaultClassMapper.setTrustedPackages("cn.baidu.kkscsp.common.mq"); // trusted packages
- Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
- jackson2JsonMessageConverter.setClassMapper(defaultClassMapper);
- return jackson2JsonMessageConverter;
- }
- }
复制代码 消耗者:
- @Configuration
- public class RabbitMQConfig {
- @Bean
- public MessageConverter messageConverter(){
- return new Jackson2JsonMessageConverter();
- }
- }
复制代码 终极测试方案二是没问题,方案一没效果。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |