[英]JAXBContext cache in multi-module maven project
JAXB 规范声明 JAXB 上下文是线程安全的。 因为它的创建非常耗时,所以鼓励只创建/初始化一次。 如何在多模块 maven 项目中正确执行? 将类传递为 arguments 可能会引入一些循环依赖关系,将字符串传递为 package 名称似乎很乏味且容易出错。 有什么推荐的方法吗?
而不是在每个模块中都有 JAXB 映射的类,将它们组合在一个模式或jaxb或api模块(或任何最适合的名称)中。 在该模块中,您可以放置工厂以获取 JAXBContext 实例。
如果您不想在同一个模块中混合映射类,对于每个使用 JAXB 的模块,将映射类提取到另一个模块。 例如,如果您有moduleA
, moduleB
, moduleC
,提取 JAXB 映射类到moduleA-schema
, moduleB-schema
, moduleC-schema
。 这样,您可以将 JAXBContext 实例的工厂放在依赖于moduleA-schema
、 moduleB-schema
、 moduleC-schema
的实用程序模块中,但不依赖于原始模块,这样您就可以避免循环依赖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.