Message Bean中的JAXB unmarshaller

时间:2014-07-06 11:44:12

标签: jaxb ejb

我正在使用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吗?

1 个答案:

答案 0 :(得分:0)

Unmadshaller创造很轻松。您可以保留对线程安全JAXBContext的引用,然后在每次需要时创建一个新的Unmarshaller