错误日志:
2021-05-10 09:29:49.116  WARN 6308 --- [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#1-1] o.s.a.s.c.Jackson2JsonMessageConverter   : Could not convert incoming message with content-type [application/x-java-serialized-object], 'json' keyword missing.
2021-05-10 09:29:49.126  WARN 6308 --- [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#1-1] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed.

org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Listener method could not be invoked with the incoming message
Endpoint handler details:
Method [public void com.*.*.mq.AgentCancelMqListener.handle(com.*.*.bean.CancelRequest)]
Bean [com.*.*.mq.AgentCancelMqListener@7173ae5b]
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:214)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:143)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:132)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1569)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1488)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1476)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1467)
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1411)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:958)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:908)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1600(SimpleMessageListenerContainer.java:81)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1279)
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1185)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [com.*.*.bean.CancelRequest] for GenericMessage [payload=byte[98], headers={amqp_receivedDeliveryMode=PERSISTENT, amqp_receivedRoutingKey=agent-cancel-queue-10-13-10-43, amqp_deliveryTag=1, amqp_consumerQueue=agent-cancel-queue-10-13-10-43, amqp_redelivered=false, id=b5d6b1d5-a941-36d9-874f-077a392dee65, priority=10, amqp_consumerTag=amq.ctag-cOmRPJTLuWGjCa5REOF1ww, amqp_lastInBatch=false, contentType=application/x-java-serialized-object, timestamp=1620610189118}]
at org.springframework.messaging.handler.annotation.support.PayloadMethodArgumentResolver.resolveArgument(PayloadMethodArgumentResolver.java:145)
at org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:117)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:148)
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:116)
at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:50)
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:211)
... 13 common frames omitted

原因:消费的监听是已Jackson2JsonMessageConverter做为消息转换器,而生产者的消息是jdk的序列化(application/x-java-serialized-object),生产者使用的SimpleMessageConverter()来后去的消息转换器,所以导致消费者接受到消息后无法转换而报错。
解决:设置统一的消费转换器。

错误日志:2021-05-10 09:29:49.116 WARN 6308 --- [org.springframework.amqp.rabbit.RabbitListenerEndpointContainer#1-1] o.s.a.s.c.Jackson2JsonMessageConverter : Could not convert incoming message with content-type [application/x-java-serialized-object], 'json..
o.s.boot.web.embedded.tomcat.TomcatWebServer :Tomcat started on port(s): 9008 (http) with context path '' 11:35:12.287 INFO --- [main ] o.s.a. rabbit .connection.CachingConnectionFactory :Attempting to connect to: [192.168.100.131:5672]
2021-03-21 17:11:39.986 WARN 67532 --- [ntContainer#1-1] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed. org . springframework . amqp . rabbit . listener .exception. Listener ExecutionFailedException: Listener method 'no ma..
使用Spring-kafka的@Kafka Listener 报错信息 Listener method could not be invoked with the incoming message 问题背景报错原因解决办法 先说一下背景,我在写一个kafka消费项目的时候,为了方便就用的spring-kafka依赖包,启动项目报了这个错,百度好几遍都没找到解决办法,后面再stack overflow找到答案了,在此记录一下,错误如下: 我个人觉得这个错误信息很关键: Listener method c
异常 信息 is not in the trusted packages: [ java .util, java .lang]. If you believe this class is safe to deserialize, please provide its name. If the serialization is only done by a trusted source, you can also enable trust all (*). 解决方法: 在使用 Jackson2Json Message C