我用一個XMLAdapter解組一個非常大的XML文件,使用JAXB解組一個特定的「問題」類。 XMLAdapter非常簡單,但它被多次調用 - 我們預計對於單個XML文件高達200萬次。我們的測試文件較小 - 適配器被稱爲200,000次 - 但我們注意到性能受到影響。適配器是相當標準的:使用jaxb XMLAdapter會影響性能嗎?
public class MyAdapter extends XmlAdapter<Object, AdaptedClass> {
public static final String ATTRIBUTE_HREF = "href";
public AdaptedClass unmarshal(Object obj) throws Exception {
Element element = null;
if (obj instanceof Element) {
element = (Element)obj;
String id = element.getAttribute(ATTRIBUTE_HREF);
AdaptedClass pr = new AdaptedClass();
pr.setHref(id);
return pr;
}
}
我的問題:使用適配器是否有開銷?例如,是否必須從桌子上查找適配器本身? adatper內部的代碼是否會減慢速度?在我的情況下,代碼是相當簡單的,所以它似乎有些相似解組代碼將採取即使我沒有使用適配器的地方..
指定綁定文件中類似適配器的類是更好的解決方案還是與指定XMLAdapter基本相同? – BradEggers 2011-06-08 19:21:53