我正在使用Message Driven Beans。它们是汇集的,所以它们有很多例子。我需要在onMessage方法中使用JAXB unmarshaller。我想要的是在init方法中创建unmarshaller实例,例如:
public class MyMDB implemetns MessageListener {
private Unmarshaller unmarshaller;
@PostConstruct
public void init() {
unmarshaller = JAXBContext.newInstance(...)
}
public void onMessage(Message message) {
// use unmarshaller
}
}
在这种情况下,我是否应该为并发问题烦恼?据我所知,unmarshaller不是线程安全的。我应该在这里使用ThreadLocal吗?
答案 0 :(得分:0)
Unmadshaller
创造很轻松。您可以保留对线程安全JAXBContext
的引用,然后在每次需要时创建一个新的Unmarshaller
。