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

标签 java jaxb

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

我想知道这是否是好的做法,或者根据需要创建独立的实例更好?

最佳答案

缓存MarschallerUnmarshaller 不是一个好主意。而是缓存 JAXBContext

JAXBContext 可以重用来创建编码器和解码器。

MarshallerUnmarshaller 实例(不一定)不是线程安全的或可重用的。

我会查找引用资料并更新答案。

这是reference :

The JAXBContext class is thread safe, but the Marshaller, Unmarshaller, and Validator classes are not thread safe.

相关答案:

JAXB creating context and marshallers cost

关于java - JAXB 每个应用程序一个 Marshaller 实例和 Unmarshaller 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26137226/

相关文章:

java - Xml Jaxb 命名空间和属性顺序

java - 执行 OWLAPI 时出错

java - 设置创建的目录的权限以将文件复制到其中

java - 如何从过滤器确定从 RequestDispatcher.forward 调用转发到哪个 jsp?

java - 为什么在使用 JAXB 数据绑定(bind)部署任何服务时 JAX-WS 会卡住?

java - JAXB:如何避免 xmlns:xsi 的重复命名空间定义

java - 按顺序添加最少的元素

java - 在 Ibatis 中防止 SQL 注入(inject)

java - 使用 JAXB 解码 xml 文件时使用什么策略?

java - 不使用 POJO 类并使用 linkedHashmap 实现 JAXB