Wepshpere:模块的加载顺序
Wepshpere: order of loading of modules
我们在两台具有相同 WAS v8.5.2.2 的不同 PC 上部署 .war(其中包含 jar 中的 ejb 组件)时遇到了恼人的问题
当我们在第一台 PC 上部署我们的应用程序时 - 一切看起来都很好,而在第二台 PC 上部署时 - 它失败了,因为它无法在环境中找到 ejb bean。
请务必注意,服务器配置完全相同。
但是模块的加载顺序是不同的:
在第一种情况下,它首先加载 ejb 模块(jar),然后加载 web 模块,在第二种情况下 - 反之亦然:
WebGroup SRVE0169I: Loading Web Module: UD-BACKGROUND-PROCESSES-SERVER.
.....
WSVR0037I: Starting EJB jar: ud-background-processes-server-1.18.0_15914.war
我们认为这是失败的原因。
如何以及在哪里配置?
此外 - 有几次可以在不更改服务器配置的情况下以正确的顺序加载它!但是我们无法捕捉到这种行为变化的规律。
此外 .war(以及其中的 jars)既不包含特定于 Websphere 的配置文件(如 ibm-ejb-jar-bnd.xml)也不包含特定于 ejb 的文件(ejb-jar.xml).它仅使用注释 @Stateless\@EJB\@LocalBean 配置。
对这个问题有什么想法吗?
如果模块包含在同一个 application/EAR 中,则默认情况下,该应用程序中的 EJB 模块应在该应用程序中的 WAR 秒之前启动。
如果模块位于单独的应用程序中,那么您将需要 configure the application start weight 以确保 EJB 应用程序在 WAR 应用程序之前启动。
我们终于找到了这种行为的原因,并且通过关闭复选框值(参见图片)并重新启动服务器来更改加载顺序。
-----
-----
其实我们还不知道哪一个有意义
我们在两台具有相同 WAS v8.5.2.2 的不同 PC 上部署 .war(其中包含 jar 中的 ejb 组件)时遇到了恼人的问题
当我们在第一台 PC 上部署我们的应用程序时 - 一切看起来都很好,而在第二台 PC 上部署时 - 它失败了,因为它无法在环境中找到 ejb bean。
请务必注意,服务器配置完全相同。 但是模块的加载顺序是不同的: 在第一种情况下,它首先加载 ejb 模块(jar),然后加载 web 模块,在第二种情况下 - 反之亦然:
WebGroup SRVE0169I: Loading Web Module: UD-BACKGROUND-PROCESSES-SERVER. .....
WSVR0037I: Starting EJB jar: ud-background-processes-server-1.18.0_15914.war
我们认为这是失败的原因。
如何以及在哪里配置?
此外 - 有几次可以在不更改服务器配置的情况下以正确的顺序加载它!但是我们无法捕捉到这种行为变化的规律。
此外 .war(以及其中的 jars)既不包含特定于 Websphere 的配置文件(如 ibm-ejb-jar-bnd.xml)也不包含特定于 ejb 的文件(ejb-jar.xml).它仅使用注释 @Stateless\@EJB\@LocalBean 配置。
对这个问题有什么想法吗?
如果模块包含在同一个 application/EAR 中,则默认情况下,该应用程序中的 EJB 模块应在该应用程序中的 WAR 秒之前启动。
如果模块位于单独的应用程序中,那么您将需要 configure the application start weight 以确保 EJB 应用程序在 WAR 应用程序之前启动。
我们终于找到了这种行为的原因,并且通过关闭复选框值(参见图片)并重新启动服务器来更改加载顺序。
-----
-----
其实我们还不知道哪一个有意义