Rabbitmq报unauthorized异常

瑞星  金牌会员 | 2024-10-21 07:59:17 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 865|帖子 865|积分 2595

问题:

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企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

瑞星

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表