1

我们的项目有以下模块化结构,

耳朵
|
|--- Web 模块
|--- ConnectorFacade
|--- 连接器
|--- 实用程序模块
|--- BPEL 模块

还有其他模块也用于理解我提到的几个模块的问题。

目前,任何一个简单的更改都发生在上述任何一个模块中,我们需要在 WebSphere 应用程序服务器上进行整个部署,因为我们已经将所有模块归档在单个 EAR 中。

我希望 EAR 应该与依赖模块分开意味着除了 web 模块之外,其他模块应该在 EAR 之外,这样每当连接器或任何其他模块模块发生任何更改时,我都会更新连接器 jar 并重新启动应用程序服务器,它应该选择新的类所以它将避免我的部署过程,并且我可以在最短的时间内准备好新的更改。

让我知道是否有很好的解决方案来管理依赖的 jar。

4

3 回答 3

1

正如“fnt”所提到的,OSGI 可能是您问题的解决方案。

您还可以使用远程 EJB。

您在单独部署的 jar 中的远程服务

    @Stateless
    @Remote(MyRemoteInterface.class)
    public class MyService implements MyRemoteService {
      // Some implementations
    }

共享 api

    interface MyRemoteService {

    }

在您 EAR 中的某个模块中

    @Stateless
    public class MyBoundary {
      @EJB
      MyRemoteService service;

      // Stuff
    }

有关更多信息,请参见此处

于 2013-08-05T08:37:57.747 回答
0

您可以使用共享库,但这是一种肮脏的方式。另一种模式是 OSGI,但您应该调整所有逻辑,这是一种独立的思维方式。

只要您配置好构建工具,我看不出隔离模块构建的真正好处是什么,这将是几秒钟的事情。

于 2013-08-05T21:50:44.340 回答
0

Websphere Application Server 的最终解决方案是使用 OSGi 应用程序。

使用 OSGi 应用程序 (WAS 7.0)

关于 OSGi 应用程序 (WAS 8.0)

于 2013-07-26T20:40:23.830 回答