Apache Camel:将类(bean)的内容路由到jms

时间:2014-11-21 21:33:58

标签: java jms apache-camel

我有一张地图:

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中某些文本的String并路由到jms。 如何在Camel中构建路径(MyMessage)并将其发送到jms(我知道第二部分,如何将其发送到jms),我如何从RouteBuilder()获取Camel的内容? / p>

1 个答案:

答案 0 :(得分:0)

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

 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