【发布时间】:2016-10-20 07:33:04
【问题描述】:
假设我们有一个.ear 应用程序包含多个.war 和.jar 的情况,我们通过封装在一个特定@ 内部的自定义javax.ws.rs.ext.Provider 来控制我们的REST 端点中对象的JSON 反序列化/序列化987654325@ 与我们的.ear 一起部署为一个库。
现在,由于我们即将使用上述自定义反序列化/序列化来扩展部署的数量,我们正在寻找一种减小工件大小的方法,我基本上提出了三种可能性,其中只有两种可行,一种似乎也是详细成为一个真正的解决方案:
-
部署
javax.ws.rs.ext.Provider-artifact,每个.ear引用它(缺点:多个.ear-artifact 包含相同.jar库)。 将
javax.ws.rs.ext.Provider-artifact 安装为全局Wildfly 模块,并通过jboss-deployment-structure.xml添加依赖项(缺点:可以部署.ear-artifact,但反序列化没有按预期工作因为 Wildfly 模块不是已部署.ear-application 的类路径的一部分,并且javax.ws.rs.ext.Provider不会在部署时自动注册)。将
javax.ws.rs.ext.Provider-artifact 安装为“普通”Wildfly 模块,并在扩展javax.ws.rs.core.Application的REST 配置类的getClasses方法中引用自定义javax.ws.rs.ext.Provider(缺点:我们必须明确列出每个javax.ws.rs.ext.Provider和 REST 端点,而不是目前使用的自动发现)。
是否有第四种可能性来完成这项任务,或者对上述三种可能性有什么调整?我没有找到任何解决方案来解决这个(我认为)在 Wildfly 中安装“全局”自定义 javax.ws.rs.ext.Provider 的基本任务。
【问题讨论】:
标签: java module jax-rs wildfly