在Tomcat中,看起来我必须在context.xml
和我的web.xml
中指定任何JNDI资源。它是否正确?有没有办法解决?我认为context.xml
中的一个配置就足够了。这里是相关的文件from the Tomcat User Guide。Tomcat中的JNDI资源
注意,资源名称(这里, 豆/ MyBeanFactory必须在Web应用程序 部署描述符中指定的 值相匹配。
Glassfish的不以这种方式需要配置。在GlassFish中,您可以在服务器上配置JNDI资源(如JDBC连接池),应用程序代码通过JNDI查找获取对资源的引用。在web.xml文件中不需要额外的条目。
瓦我担心的是:如果Glassfish拒绝这个重复的JNDI配置,但Tomcat需要它,那么我突然需要支持两个web.xml文件,具体取决于应用程序将部署到的环境。它看起来比它需要的更复杂和繁琐。
不确定 - 仍然有困难实际上是让它在Tomcat中正常工作 - 然后我将重新测试Glassfish。我仍然觉得Tomcat需要这个额外的配置,而Glassfish却不需要。 – Vinnie
额外配置的东西是规范的一部分:我想glassfish选择没有它。 tomcat的默认上下文植根于java:comp/env:并不完全确定你可以在不改变代码的情况下以你想要的风格进行绝对的JNDI查找。 – Femi