我发现一个类似的线程正在描述我遇到的相同问题。
http://forums.java.net/jive/thread.jspa?threadID=53362
我还在https://github.com/javaee/jaxb-v2/issues/581找到了一个错误
基本上,问题是每次调用bean时我都在做一个新的JAXBContext(“
your.class.xsd”)。根据错误的说法,“调用JAXBContext.newInstance(…)意味着要重新加载所有内容,因为要(重新)使用当前或指定的类加载器。”
解决方案是创建一个效果很好的单例。
public enum JAXBContextSingleton {INSTANCE("your.class.xsd");private JAXBContext context;JAXBContextSingleton(String classToCreate) { try { this.context = JAXBContext.newInstance(classToCreate); } catch (JAXBException ex) { throw new IllegalStateException("Unbale to create JAXBContextSingleton"); }}public JAXBContext getContext(){ return context;}}并使用单例
JAXBContext context = JAXBContextSingleton.INSTANCE.getContext();



