Apache camel ApacheCamel:message的正文中是否可以有多个对象(使用不同的类)?

Apache camel ApacheCamel:message的正文中是否可以有多个对象(使用不同的类)?,apache-camel,Apache Camel,我已经准备好了java应用程序,它使用jms和Camel。弹出提示,我们必须在exchange/message中添加其他信息。假设这些附加信息实际上是新的java对象。将新对象添加到exchange的最佳方式是什么 我有很多骆驼处理器处理消息,如下所示: public class MyProcessor implements Processor { @Override public void process(Exchange exchange) throws Exception

我已经准备好了java应用程序,它使用jms和Camel。弹出提示,我们必须在exchange/message中添加其他信息。假设这些附加信息实际上是新的java对象。将新对象添加到exchange的最佳方式是什么

我有很多骆驼处理器处理消息,如下所示:

public class MyProcessor implements Processor {

    @Override
    public void process(Exchange exchange) throws Exception {
        String s = exchange.getIn().getBody(String.class);
        s = magicalTransform(s);
        exchange.getIn().setBody(s, String.class);

        //Now I have to add object of some Info.cass:
        Info info = new Info( new Date() );
        //Can I add it like this? :
        exchange.getIn().setBody(info, Info.class); 
    }

}
问题是,如果我可以向消息中添加许多对象,我就找不到信息。消息方法:setBody(objectbody,Class type)表明这是可能的,但也有方法:getBody()表明只有一个body类


如果我不能这样做,那最好的办法是什么?我可以尝试将我转换的字符串和信息包装到一个类中,并将新类放入消息中,但这会导致在每个处理器中获取字符串的方式发生变化。我想避免这种情况。

一个
交换
的主体是一个
对象
。如果要向exchange主体中添加多个对象,则需要将exchange主体设置为映射、列表或pojo,其中包含设置所有对象的字段