繁体   English   中英

Apache Camel:将class(bean)的content路由到jms

[英]Apache Camel: Route contentof class(bean) to jms

我有一张像这样的地图:

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(我可以做到)和从Camel调用getBody()获取对象MyMessage ,以从someBody获取一些文本的String并路由到jms。 当我将在Camel中构建route( RouteBuilder() )并将其发送到jms(我知道的第二部分,如何将其发送到jms)时,如何从带有Camel的MyMessage获取内容?

如果您能够将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");

有关Camel Simple语法的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM