可能问题应该是“applicationContext.xml 和 web.xml 之间的关系是什么,是父子关系还是兄弟兄弟关系”
当前的 Spring 应用程序在 Tomcat 中定义了 JNDI,并<resource-ref/>
在web.xml
. 有几个由以下人员创建的 JNDI 资源applicationContext.xml
bean <jee:jdni-lookup>
:
<jee:jndi-lookup id="dataSource_A" jndi-name="jndi/sourceA" />
<jee:jndi-lookup id="dataSource_B" jndi-name="jndi/sourceB" />
<jee:jndi-lookup id="dataSource_C" jndi-name="jndi/sourceC" />
现在有趣的发现是,在注释掉所有<resource-ref/>
from之后web.xml
,JNDI 数据源仍然可以访问,这让我怀疑应用程序访问 Tomcat 是通过applicationContext.xml
(在哪里可以找到 JNDI 名称)直接没有通过web.xml
。
还要提一下,这种现象只发生在 STS3.2/tomcat-7.0.35.B.RELEASE 中,而在 STS2.9.2/tomcat-7.0.30.A.RELEASE 中没有