ToB企服应用市场:ToB评测及商务社交产业平台

标题: Rabbitmq报unauthorized异常 [打印本页]

作者: 瑞星    时间: 2024-10-21 07:59
标题: Rabbitmq报unauthorized异常
问题:

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终极得到几个结果
方案一:

在设置文件设置信托的类
  1. spring:
  2.   rabbitmq:
  3.     listener:
  4.       simple:
  5.         allowed-classes:
  6.           - cn.baidu.kkscsp.common.mq.TaskSbomMessageMq
  7.           - cn.baidu.kkscsp.common.mq.TaskMessageMq
复制代码
方案二:

自界说一下一个消息转换的bean,并在此中设置信托的包,即实体类的路径
生产者:
  1. public class RabbitMQConfig {
  2.     @Bean
  3.     public MessageConverter jsonToMapMessageConverter() {
  4.         DefaultClassMapper defaultClassMapper = new DefaultClassMapper();
  5.         defaultClassMapper.setTrustedPackages("cn.baidu.kkscsp.common.mq"); // trusted packages
  6.         Jackson2JsonMessageConverter jackson2JsonMessageConverter = new Jackson2JsonMessageConverter();
  7.         jackson2JsonMessageConverter.setClassMapper(defaultClassMapper);
  8.         return jackson2JsonMessageConverter;
  9.     }
  10. }
复制代码
消耗者:
  1. @Configuration
  2. public class RabbitMQConfig {
  3.     @Bean
  4.     public MessageConverter messageConverter(){
  5.         return new Jackson2JsonMessageConverter();
  6.     }
  7. }
复制代码
终极测试方案二是没问题,方案一没效果。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4