我有一张地图:
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>
答案 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");