如何解决Micronaut with rabbit mq 将消息从生产者发送到消费者,在消费者端它接受参数中的相同值
在 Micronaut 最新版本中使用 rabbitMQ。在消费者上,两个参数都接受来自生产者的相同值,但是,我从生产者发送不同的值。
消费者的输出,因为categoryId
和id
的值相同
在生产者方面,我发送的不同值如下
@RabbitProperty(name = "replyTo",value = "amq.rabbitmq.reply-to")
@Binding(ConstantValues.COUNT_SUB_CATEGORY)
Maybe<Long> Count(@MessageHeader String categoryId,String id);
categoryId
和 id
在生产者端具有不同的值
我不太确定这是什么错误。
解决方法
很奇怪。我也在我的系统上复制了这个问题。而且,当使用弃用的 io.micronaut.messaging.annotation.Header
时,这个问题似乎会消失。
你能在你的代码上也试试这个,看看它是否有效吗?
您的新代码:
制作人:
@Binding(ConstantValues.COUNT_SUB_CATEGORY)
Maybe<Long> Count(@Header String categoryId,String id);
消费者:
@Queue(......)
Long count(@Header("categoryId") String categoryId,String id) {
......
}
使用 micronaut 版本 2.5.1、micronaut-rabbitmq 2.5.0、java 11 进行测试
,此问题现已在此 https://github.com/micronaut-projects/micronaut-core/issues/5588
中得到解决版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。