【问题标题】:Apache Camel: Route contentof class(bean) to jmsApache Camel:将类(bean)的内容路由到jms
【发布时间】:2014-11-21 21:33:57
【问题描述】:

我有一张这样的地图:

Map<String, MyMessage> map = new HashMap<String, MyMessage>();

之后:

MyMessage msg = new Message();
msg.setBody("Hello");
map.put("123", msg)

它包含 String-correlationId 和对象 MyMessage MyMessage 包含方法

class MyMessage { 

   private String someBody;

    String getBody()
    {
        return someBody;
    }

    void setBody(String someBody)
    {
        this.someBody = someBody;
    }
}

我需要从 map 中获取对象 MyMessage(我可以这样做)并从 Camel 调用 getBody() 以从 someBody 获取一些文本的字符串并路由到 jms。 当我将在 Camel 中构建路由 (RouteBuilder()) 并将其发送给 jms 时,如何从 MyMessagewith Camel 获取内容(我知道第二部分,如何将其发送给 jms)???

【问题讨论】:

    标签: java jms apache-camel


    【解决方案1】:

    如果你能够将MyMessage 对象插入你的骆驼路线,你可以像这样拉出身体:

     from("direct:myMessageStart").setBody(simple("${body.body}")).to("jms:queue:myQueue");
    

    再举一个例子(上面可能会让人困惑,因为你的类方法被称为getBody),如果你的类看起来像这样:

      class MyMessage { 
    
         private String message;
    
         String getMessage()
         {
             return message;
         }
    
         void setMessage(String message)
         {
             this.message = message;
         }
      }
    

    您的路线如下所示:

      from("direct:myMessageStart").setBody(simple("${body.message}")).to("jms:queue:myQueue");
    

    More information on Camel Simple syntax

    【讨论】:

    • 如何将骆驼对象插入骆驼路线。请给我一些例子。
    猜你喜欢
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多