Spring 将 JNDI 与 Tomcat 结合使用...为什么我的项目中需要 META-INF/context.xml

标签 spring tomcat6 jndi

我正在尝试让 Spring 使用 tomcat JNDI 资源来访问我的数据库。如果我的项目中的 META-INF/context.xml 包含资源信息,我的项目就可以工作,但是一旦我删除它,它就会停止......为什么。

最佳答案

如果您在 Tomcat 中部署 Web 应用程序,在部署过程中,Tomcat 将复制 $CATALINA_HOME/conf/中的 META-INF/context.xml 文件,以便您的应用程序可以使用该上下文。请记住,如果您因为不需要而从应用程序中删除 context.xml,则还必须从 $CATALINA_HOME/conf/中手动删除它。

如果您已编辑 server.xml 以包含数据库资源,并且在删除 context.xml 时不起作用,则可能是因为您在 server.xml 中定义资源时犯了一些错误

更新:

当资源位于 server.xml 中时,在上下文中您应该引用 server.xml 中的全局资源。例如:

<Context crossContext="true" reloadable="true" >
    <ResourceLink name="jdbc/myApp" type="javax.sql.DataSource" global="jdbc/myApp" />
</Context>

关于Spring 将 JNDI 与 Tomcat 结合使用...为什么我的项目中需要 META-INF/context.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9843183/

相关文章:

java - 想要使用 hibernate 查询中的事务从表中删除文件夹中的现有文档和数据库值

java - Spring 3.1配置: environment not injected

spring - 如何在 Spring Data JPA 中使用带有分页的投影接口(interface)?

java - 使用 "com.sun.jndi.ldap.LdapCtxFactory"的 LDAP 身份验证中 SECURITY_PRINCIPAL 的正确格式是什么

java - EJB调用WebLogic和OpenEJB中的EJB

tomcat - 将带有 context.xml 的 Apache Tomcat 6 项目迁移到 GlassFish

java - 跨 Hibernate session 和普通 jdbc 的单个事务

tomcat:如何将参数放在 web.xml 中并在我的应用程序中获取它们?

java - Java虚拟机启动器无法创建虚拟机错误如何解决?

java - Tomcat重定向到旧文件