簡體   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