谁能讲一讲关于多个ejb module 在websphere6.0上的加载顺序

悬赏:20 发布时间:2008-07-22 提问人:libing.tor (初级程序员)

看了Robbin关于App class loader的总结 ,很不错, 但有一点没有讲到, 如果我有两个EJB Module, EJB_A.jar, EJB_B.jar,那么哪一个先被加载,是按照在application.xml中的自然顺序加载, 还是有一定的规则。我现在的项目就遇到这样的问题,我需要EJB_A.jar先于EJB_B.jar加载, 于是在application.xml中我是这样定义的:

<module id="ejbmodule_1"><ejb>EJB_A.jar</ejb></module>

<module id="ejbmodule_2"><ejb>EJB_B.jar</ejb></module>

经过在jboss上测试, 证明这样配置是可行的。EJB_A.jar先于EJB_B.jar加载。

但是,在websphere6.0 上测试 却失败了, EJB_B.jar总是先加载。而且

在deploy 以后, installedApp 目录下的application.xml中ejb的顺序

总是被改变成了这样:

<module id="ejbmodule_2"><ejb>EJB_B.jar</ejb></module>

<module id="ejbmodule_1"><ejb>EJB_A.jar</ejb></module>

我试着把它们改回原来的顺序, 结果EJB_A.jar 就先被加载了。

我不知道为什么websphere要改变这两个ejb在application.xml中的顺序.

我在网上以及ibm redbook上都找不到有关的内容。

所以谁能讲一讲关于多个ejb module 在websphere6.0上的加载顺序?

多谢了。
问题补充:
我想知道的是

1. websphere 是按照什么顺序load ejb的?

2. 能否改变它, 如何改? 比如通过 console, etc

3. 如果某个jar有dependancy, 是否也会影响load 的顺序? 是什么样的dependancy?
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员

回答

默认的顺序就是你deploy的顺序.
dmewy (初级程序员) 2008-07-22