[英]RabbitMq Cannot see queue and Cannot send message from one service to another in Spring Boot Microservices
I have a problem about sending message from advertisement service to report service through RabbitMq .我在通过RabbitMq从广告服务向报告服务发送消息时遇到问题。
I run the rabbitmq through docker .我通过docker 运行 rabbitmq 。 Here is the code shown below.
这是下面显示的代码。
rabbitmq:
image: "rabbitmq:3-management"
container_name: "rmq3"
environment:
RABBITMQ_DEFAULT_USER: "rabbitmq"
RABBITMQ_DEFAULT_PASS: "123456"
ports:
- "5672:5672"
- "15672:15672"
When I tried to get message from rabbitTemplate.convertAndSend in advertisement service .当我尝试从广告服务中的rabbitTemplate.convertAndSend获取消息时。 I got an error in report service .
我在报告服务中遇到错误。
Here is the error shown below.这是下面显示的错误。
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}]
How can I fix the issue?我该如何解决这个问题?
After I defined both this bean in advertisement and report service, the issue disappeared.在我在广告和报告服务中定义了这个 bean 之后,问题就消失了。
Here is the bean这里是豆
@Bean
public MessageConverter jsonMessageConverter(ObjectMapper objectMapper) {
return new Jackson2JsonMessageConverter(objectMapper);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.