我正在尝试使用 Spring 和 NMS 在 .NET 上使用 ActiveMQ 和 Camel(在代理中运行)。总的来说,这些组件工作得很好。我有一个用于发送/接收的骆驼路由,以及 .NET 中的一些代码来处理这个问题 - 就像一个魅力。

我试图解决的问题是请求-答复集成模式。Camel 支持这一点,我的配置中有这条路线:

  <route>
    <from uri="activemq:foo"/>
    <to uri="activemq:bar" pattern="InOut"/>      
  </route>

理论上,Camel 应该在这样的路由中设置 NMSReplyTo 和 CorrelationID,以便回复知道要返回到哪里。

我跟着这个 非常有帮助的文章 了解如何在 .NET 中将事物连接在一起。在本文中,代码显式设置了回复的位置,因为它没有使用 Camel。

我的问题是如何利用 Camel 路线,因此我基本上不必在代码中复制它(这会破坏基于配置的集成模式的目的)。我尝试删除代码中的 NMSReplyTo 和 CorrelationID,但回复永远不会返回给发件人。这几乎就像 Camel 路线没有被应用程序“内化”一样。

想法?建议?

谢谢,切特

有帮助吗?

解决方案

看一眼 这个图案 以及相关的 单元测试...应该有帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top