2014-11-21 57 views
0

我有地圖,如:Apache的駱駝:路線contentof類(豆)以JMS

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

後,我做的事:

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

它包含字符串的correlationID和對象MyMessage MyMessage包含方法

class MyMessage { 

    private String someBody; 

    String getBody() 
    { 
     return someBody; 
    } 

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

我需要從地圖(我可以做到這一點)和從駱駝調用getBody()獲得對象MyMessage以從someBody獲得一些文本的字符串並且路由到jms。 當我在駱駝中建立路線(RouteBuilder())並將它發送給jms(我知道第二部分,如何將它發送給jms)時,如何從駝峯獲得MyMessage的內容?

回答

0

如果你能夠插入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

+0

如何插入駱駝對象駱駝路線。請給我舉個例子。 – 2014-11-22 09:55:54