【问题标题】:Apache camel with external ActiveMQ broker带有外部 ActiveMQ 代理的 Apache camel
【发布时间】:2014-04-30 03:34:52
【问题描述】:

我正在学习使用 Apache Camel 来解决消息传递问题。以下几点解释了问题的要点。

  1. 有一个外部 ActiveMQ 代理需要 JSON 格式的消息并返回 JSON 格式的响应。
  2. 必须在运行时通过从用户获取参数来创建发送到代理的 JSON 消息。
  3. 返回的响应返回给用户。

我发现很难按照书中的例子来解决我的问题。请让我知道如何使用 Apache Camel 解决此问题。

谢谢!

【问题讨论】:

    标签: apache-camel activemq


    【解决方案1】:

    只需要像这样设置你的activemq 组件

      <bean id="activemq"
            class="org.apache.activemq.camel.component.ActiveMQComponent">
            <property name="brokerURL" value="tcp://mybroker:61616"/>    
      </bean>
    

    然后定义路由以从 ActiveMQ 队列中产生/使用,根据需要转换为 JSON 或从 JSON...

    例如...接受客户端请求、转换为 JSON 并发送到队列的路径

    from("direct:clientRequest")
        .marshal().json()
        .to("activemq:firstQueue");
    

    然后从另一个队列中提取另一个路由并从 JSON 中解组并用它做一些事情......

    from("activemq:otherQueue")
        .unmarshal().json()
        .to("<do something>");
    

    【讨论】:

    • 感谢您的回复。您能否告诉我如何使用“direct:clientRequest”生成一个可以转换为 JSON 并以上述建议方式使用的 java bean?
    • 您可以使用 ProducerTemplate 向路由发送请求:camel.apache.org/producertemplate.html
    猜你喜欢
    • 2011-01-14
    • 2017-10-19
    • 2021-10-02
    • 1970-01-01
    • 2017-02-26
    • 2023-03-06
    • 1970-01-01
    • 2015-03-21
    • 1970-01-01
    相关资源
    最近更新 更多