【问题标题】:Bridge between ActiveMQ and MSMQActiveMQ 和 MSMQ 之间的桥梁
【发布时间】:2014-03-19 17:13:53
【问题描述】:

假设有一个 ActiveMQ 作为 JMS 代理,它由基于 java 的主系统提供。

其中一个消费者只能使用 MSMQ(我们对此无能为力)

问题有没有一种简单的方法可以将 ActiveMQ 主题中 jms 消息中的 jms 文本转发到 MSMQ 目标的某些消息?

底层 jms 消息包含 xml 文件的文本。

【问题讨论】:

    标签: jms activemq msmq messaging


    【解决方案1】:

    取决于您的偏好,但 ActiveMQ 中的简单 Camel route 将消息发送到 MSMQ 可以轻松做到这一点 - 假设您在 Windows 上运行 AMQ。

    Camel 并不真正支持 MSMQ,但您可以使用一些 simple java lib 在 Java 处理器内调度消息。

    【讨论】:

    • 所以,@Petter,你的意思是它会是这样的:<camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> <route> <from uri="activemq:com.acme.MyQueue"/> <to uri="msmq:com.acme.SomeOtherQueue"/> </route> </camelContext>?
    • 嗯,Camel 中没有本机 msmq 支持。有,但那个模块不见了。我在想一个自定义bean。 public class MsmqSenderBean{ public void send(String text){ Queue queue= new Queue(fullname); String label="testmessage"; byte[] correlationId = { 0,2,4,6,8,9 }; Message msg= new Message(text, label, correlationId); queue.send(msg); } } 在 camel.xml 中作为 spring bean 连接并使用 <to uri="bean:msmqSenderBean"/> 调用您可能希望通过可配置的队列名称等使其更加灵活。
    • 是的,您需要在 ActiveMQ lib 文件夹中放置一个带有自定义 bean 的 jar。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 2011-08-26
    • 2013-03-24
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多