TL; DR
在将包含Web服务实现的EJB模块部署到WebSphere 7时,是否必须拥有HTTP路由器模块?
如果是这样,有没有办法在不依赖IBM特定文件的情况下创建/管理它?
我有一个正在重组的应用程序,以便可以构建Maven。目前,我正在使用was6-maven-plugin的endptEnabler
目标为包含一些Web服务的EJB模块构建HTTP路由器模块。这很好用,但我发现我们将要使用的构建机器实际上并没有安装WebSphere。在过去,这不会是一个问题,因为路由器模块是由某人通过点击RAD中的“生成路由器模块”按钮手动开发的,然后实际将生成的代码签入源控件。以Maven为中心的构建过程,我们认为在构建过程中生成模块会更好。
所以现在我陷入困境:通过Maven生成路由器模块似乎是一种更清洁的方法,但不能在构建机器上运行。我有几个选择:
提取生成的WAR并将其添加到我们的企业存储库中,然后创建从EJB到WAR的依赖关系。我真的不喜欢这个,但它可能工作。
回到工作区中有一个已实现的HttpRouterModule项目。这个问题是IBM特定的绑定文件具有我的服务器的有效模块ID,但我不知道它们是否会导致其他人出现问题,这就是为什么我宁愿生成来自Maven的这些文件。
继续使用Maven生成路由器模块,但找到一种方法来生成它,使得没有WebSphere依赖。
我更喜欢使用第三个选项,但我不确定如何以通用方式生成模块和绑定文件,以便WebSphere仍然可以识别它。
我也愿意听到其他选择......
答案 0 :(得分:0)
据我所知,你需要http路由器模块。根据我的经验,我也无法手动创建模块。你有没有办法在你的构建机器上安装was7 dev服务器?我相信它可以从IBM免费下载。
答案 1 :(得分:0)
到目前为止,我的所有研究表明,这在WebSphere 7和早期版本中是必需的。看起来WebSphere 8不需要HTTP路由器模块。我们将使用第二个选项,因为构建服务器将无法自行生成路由器模块。
不理想,但是一旦我们搬到WAS8,就没有必要了。