我一直在使用 MassTransit 并且非常喜欢它。但是,默认情况下,它使用 MassTransit 特有的一些 JSON 包装所有 RabbitMQ 有效负载/消息。这使得与非 .NET 服务交换消息变得困难。我知道 JSON 可以用任何语言进行解析,但 MassTransit 是仅限 .NET 的东西,在我的非 .NET 服务中,我希望避免添加特殊逻辑来处理 MassTransit 生成的消息。
是否可以使用不通过“MessageEnvelope”接口的 MassTransit 序列化 JSON 消息,以与非 MassTransit 服务建立更好的互操作性?或者这样做会破坏大多数/所有 MassTransit 功能吗?
It is 文档中描述 http://masstransit-project.com/MassTransit/advanced/interoperability.html.
由于消息的格式是预先定义的,因此您将无法避免使用一些特殊的逻辑来消费 MT 消息。
这是一条最小的消息:
{
"destinationAddress": "rabbitmq://localhost/input_queue",
"headers": {},
"message": {
"value": "Some Value",
"customerId": 27
},
"messageType": [
"urn:message:MassTransit.Tests:ValueMessage"
]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)