我在通过RabbitMq从广告服务向报告服务发送消息时遇到问题。
我通过docker运行了rabbitmq,代码如下。
rabbitmq:
image: "rabbitmq:3-management"
container_name: "rmq3"
environment:
RABBITMQ_DEFAULT_USER: "rabbitmq"
RABBITMQ_DEFAULT_PASS: "123456"
ports:
- "5672:5672"
- "15672:15672"
尝试从广告服务中的rabbitTemplate.convertAndSend获取消息时,报告服务中出现错误。
下面显示的是错误。
Caused by: org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [com.springbootmicroservices.report.dto.AdvertisementDto] for GenericMessage [payload=byte[59], headers={amqp_receivedDeliveryMode=PERSISTENT, amqp_receivedRoutingKey=queue-advertisement, amqp_contentEncoding=UTF-8, amqp_deliveryTag=1, amqp_consumerQueue=queue-advertisement, amqp_redelivered=false, id=38ab4c7f-6de4-dbbd-6471-5ba1cf2a80bc, amqp_consumerTag=amq.ctag-d4XUFeupnFO59f5OKRwlTQ, amqp_lastInBatch=false, contentType=application/json, __TypeId__=com.springbootmicroservices.advertisement.dto.AdvertisementDto, timestamp=1659551606120}]
如何解决此问题?
下面是我的项目链接:Link
1条答案
按热度按时间8e2ybdfx1#
在我在广告和报告服务中定义了这个bean之后,这个问题就消失了。