在阿帕奇骆驼它有可能通过将它的类型传入exchange.getIn().getBody(Class<T> type)
来获得它自己的类型的消息正文。比方说,我们想要获得邮件正文为String
这里的例子如下:如何将泛型类型作为交换输入体而不是投射?
String body = exchange.getIn().getBody(String.class);
在Generic
或Parameterized
类型的消息,我们如何通过它自己的类型,而不是传统的对象类型转换获取对象的情况。这里为您实现的伪代码片段:
package com.chorke.hmis.fusion.epoint;
import java.util.ArrayList;
import java.util.HashMap;
import org.apache.camel.Exchange;
import org.springframework.stereotype.Component;
@Component("chorkeProcessor")
public class ChorkeProcessorImpl implements ChorkeProcessor{
@Override
public void process(Exchange exchange) throws Exception {
ArrayList<HashMap<String, Object>> list = null;
list = exchange.getIn().getBody(ArrayList<HashMap<String, Object>>.class);
for (HashMap<String, Object> map : list) {
for (String key : map.keySet()) {
Object value= map.get(key);
//TODO
}
}
}
}
我们的期望与示例相同。
可能重复[Apache驼峰getbody作为自定义类](http://stackoverflow.com/questions/34607811/apache-camel-getbody-as-custom-类) – shmosel