Spring无法查找jdbc配置的数据源

Spring无法查找jdbc配置的数据源,spring,jndi,jta,Spring,Jndi,Jta,我已经在Tomcat5.5上部署了我的应用程序,IDE是带有myeclipse插件的eclipse。当我尝试启动tomcat服务器时,出现以下错误: 错误-ContextLoader.initWebApplicationContext(219)|上下文初始化失败 org.springframework.beans.factory.BeanCreationException:使用ServletContext资源[/WEB-INF/xaconfig/daoJPAConfig.xml]中定义的名称“d

我已经在Tomcat5.5上部署了我的应用程序,IDE是带有myeclipse插件的eclipse。当我尝试启动tomcat服务器时,出现以下错误:

错误-ContextLoader.initWebApplicationContext(219)|上下文初始化失败 org.springframework.beans.factory.BeanCreationException:使用ServletContext资源[/WEB-INF/xaconfig/daoJPAConfig.xml]中定义的名称“dataSource”创建bean时出错:调用init方法失败;嵌套异常为javax.naming.NameNotFoundException:Name java:comp在此上下文中未绑定 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:546) 位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:871) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423) 位于org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:272) 位于org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:196) 位于org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) 位于org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669) 位于org.apache.catalina.core.StandardContext.start(StandardContext.java:4104) 位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) 位于org.apache.catalina.core.StandardHost.start(StandardHost.java:718) 位于org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) 位于org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) 位于org.apache.catalina.core.StandardService.start(StandardService.java:450) 位于org.apache.catalina.core.StandardServer.start(StandardServer.java:683) 位于org.apache.catalina.startup.catalina.start(catalina.java:537) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271) 位于org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409) 原因:javax.naming.NameNotFoundException:Name java:comp未在此上下文中绑定 位于org.apache.naming.NamingContext.lookup(NamingContext.java:778) 位于org.apache.naming.NamingContext.lookup(NamingContext.java:161) 在javax.naming.InitialContext.lookup(InitialContext.java:392)中 位于org.springframework.jndi.jndemplate$1.doInContext(jndemplate.java:154) 位于org.springframework.jndi.jndemplate.execute(jndemplate.java:87) 位于org.springframework.jndi.jndemplate.lookup(jndemplate.java:152) 位于org.springframework.jndi.jndemplate.lookup(jndemplate.java:178) 位于org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95) 位于org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105) 位于org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201) 位于org.springframework.jndi.JndiObjectFactoryBean.afterPropertieSet(JndiObjectFactoryBean.java:187) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409) ... 还有27个

我已在Apache Software Foundation\Tomcat 5.5\conf中将数据源配置为:

  <GlobalNamingResources>
    <Environment
      name="simpleValue"
      type="java.lang.Integer"
      value="30"/>
    <Resource
      name="jdbc/Paymentsdb"
      type="javax.sql.DataSource"
      maxActive="20"
      maxIdle="10"
      username="root"
      maxWait="20000"
      validationQuery="SELECT=1"
      driverClassName="com.mysql.jdbc.Driver"
      password="root"
      url="jdbc\:mysql\://devserver\:3306/payhub"/>
    <Resource
      auth="Container"
      description="User database that can be updated and saved"
      name="UserDatabase"
      type="org.apache.catalina.UserDatabase"
      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
      pathname="conf/tomcat-users.xml"/>
  </GlobalNamingResources>

我添加了ApacheSoftwareFoundation\Tomcat5.5\conf\context.xml页面 我添加了我的webInf\web.xml

 <resource-ref>
   <description>PaymentsDatabase</description>
   <res-ref-name>jdbc/Paymentsdb</res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>

工资表数据库
jdbc/Paymentsdb
javax.sql.DataSource
容器

我使用的是spring框架,hybernate+jpa。请告诉我,可能是什么问题?

我不建议将其放在Tomcat的全局配置中。不能保证你能访问它。最好将它放在META-INF/context.xml中

您没有显示JNDI数据源的Spring配置。请包括在内

嵌套异常是 javax.naming.NameNotFoundException: 名称java:comp未绑定在此 上下文


这不应该是
java:comp/env

spring cfg在哪里?