0


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最终得到几个结果

方案一:

在配置文件配置信任的类

spring:rabbitmq:listener:simple:allowed-classes:- cn.baidu.kkscsp.common.mq.TaskSbomMessageMq
          - cn.baidu.kkscsp.common.mq.TaskMessageMq

方案二:

自定义一下一个消息转换的bean,并在其中设置信任的包,即实体类的路径
生产者:

publicclassRabbitMQConfig{@BeanpublicMessageConverterjsonToMapMessageConverter(){DefaultClassMapper defaultClassMapper =newDefaultClassMapper();
        defaultClassMapper.setTrustedPackages("cn.baidu.kkscsp.common.mq");// trusted packagesJackson2JsonMessageConverter jackson2JsonMessageConverter =newJackson2JsonMessageConverter();
        jackson2JsonMessageConverter.setClassMapper(defaultClassMapper);return jackson2JsonMessageConverter;}}

消费者:

@ConfigurationpublicclassRabbitMQConfig{@BeanpublicMessageConvertermessageConverter(){returnnewJackson2JsonMessageConverter();}}

最终测试方案二是没问题,方案一没效果。

标签: rabbitmq 分布式

本文转载自: https://blog.csdn.net/qq_32590535/article/details/138864538
版权归原作者 码至终章 所有, 如有侵权,请联系我们删除。

“Rabbitmq报unauthorized异常”的评论:

还没有评论