EJB模块和HTTP路由器模块之间的通用绑定

时间:2013-10-22 16:22:23

标签: java maven java-ee web-applications websphere-7

TL; DR

在将包含Web服务实现的EJB模块部署到WebSphere 7时,是否必须拥有HTTP路由器模块?

如果是这样,有没有办法在不依赖IBM特定文件的情况下创建/管理它?


我有一个正在重组的应用程序,以便可以构建Maven。目前,我正在使用was6-maven-pluginendptEnabler目标为包含一些Web服务的EJB模块构建HTTP路由器模块。这很好用,但我发现我们将要使用的构建机器实际上并没有安装WebSphere。在过去,这不会是一个问题,因为路由器模块是由某人通过点击RAD中的“生成路由器模块”按钮手动开发的,然后实际将生成的代码签入源控件。以Maven为中心的构建过程,我们认为在构建过程中生成模块会更好。

所以现在我陷入困境:通过Maven生成路由器模块似乎是一种更清洁的方法,但不能在构建机器上运行。我有几个选择:

  1. 提取生成的WAR并将其添加到我们的企业存储库中,然后创建从EJB到WAR的依赖关系。我真的不喜欢这个,但它可能工作。

  2. 回到工作区中有一个已实现的HttpRouterModule项目。这个问题是IBM特定的绑定文件具有我的服务器的有效模块ID,但我不知道它们是否会导致其他人出现问题,这就是为什么我宁愿生成来自Maven的这些文件。

  3. 继续使用Maven生成路由器模块,但找到一种方法来生成它,使得没有WebSphere依赖。

  4. 我更喜欢使用第三个选项,但我不确定如何以通用方式生成模块和绑定文件,以便WebSphere仍然可以识别它。

    我也愿意听到其他选择......

2 个答案:

答案 0 :(得分:0)

据我所知,你需要http路由器模块。根据我的经验,我也无法手动创建模块。你有没有办法在你的构建机器上安装was7 dev服务器?我相信它可以从IBM免费下载。

答案 1 :(得分:0)

到目前为止,我的所有研究表明,这在WebSphere 7和早期版本中是必需的。看起来WebSphere 8不需要HTTP路由器模块。我们将使用第二个选项,因为构建服务器将无法自行生成路由器模块。

不理想,但是一旦我们搬到WAS8,就没有必要了。