在阿帕奇駱駝它有可能通過將它的類型傳入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