JBoss 6.4 中的类加载顺序:WEB-INF/classes 还是模块先加载?

Order of classloading in JBoss 6.4: Is WEB-INF/classes or modules loaded first?

我的 WARWEB-INF/classes 中有一个名为 abc.properties 的 属性 文件。另外,我将它放在一个(正确注册的)模块中。当我打电话时:

ResourceBundle.getBundle("abc")

将选择哪个文件?

在我们的生产环境中,放置在 WAR 中的文件正在被挑选(一致)但是在 UAT 环境中(具有相同版本的 JBoss),它是被选中的模块中的 属性 文件(一致

JBoss 是否有定义的顺序将资源加载到类路径中,还是随机发生? (虽然我们没有观察到任何随机性。)

(模块已在生产服务器中正确注册,因为其他资源,即放置在模块中的 ojdbc jar 正在正确加载)

这是我们module.xml在注册模块

<module xmlns="urn:jboss:module:1.0" name="com.oracle">
  <resources>
    <resource-root path="ojdbc6.jar"/>
    <resource-root path="properties"/>
  </resources>
  <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
  </dependencies>
</module>

abc.properties 放置在上述模块

中定义的 properties 文件夹内

P.S: 我知道以这种方式放置两个 属性 同名文件是错误的做法,但我想想知道为什么我会看到这样的行为。

你可以查看官方documentation关于EAP 6.4的类加载优先级