JAXB每个应用程序一个Marshaller实例和一个Unmarshaller实例

Yoh*_*xFF 2 java jaxb

我有Web应用程序,其中有从xsd模式生成的类。我正在创建一个Marshaller实例和一个Unmarshaller实例作为应用程序启动时的静态最终字段。

我想知道这是否是一种好习惯,还是最好根据需要创建独立的实例?

lex*_*ore 5

缓存Marschaller和Unmarshaller是不是一个好主意。缓存JAXBContext代替。

JAXBContext 可以重复使用以创建编组器和解组器。

Marshaller并且Unmarshaller实例不是(不必要)线程安全的或可重用的。

我将寻找参考文献并更新答案。

这是参考:

JAXBContext类是线程安全的,但是Marshaller,Unmarshaller和Validator类不是线程安全的。

相关答案:

JAXB创建上下文和封送处理程序的成本

  • Marshaller 和 Unmarshaller 是可重用的 (2认同)