Java 间歇性错误:名称[comp/env/jdbc/app]未在此上下文中绑定。找不到[comp]

Java 间歇性错误:名称[comp/env/jdbc/app]未在此上下文中绑定。找不到[comp],java,tomcat,datasource,jndi,Java,Tomcat,Datasource,Jndi,在Tomcat 7应用程序中,我们尝试访问数据库时,有时会出现以下错误: javax.naming.NameNotFoundException:Name[comp/env/jdbc/app] 不受此上下文的约束。找不到[comp] 有时我们会有这种错误,有时不会 上下文文件: <Context path="/app" docBase="/our/path/webapps/app.war" reloadable="true"> <Resource name="jdb

在Tomcat 7应用程序中,我们尝试访问数据库时,有时会出现以下错误:

javax.naming.NameNotFoundException:Name[comp/env/jdbc/app] 不受此上下文的约束。找不到[comp]

有时我们会有这种错误,有时不会

上下文文件:

<Context path="/app" docBase="/our/path/webapps/app.war" reloadable="true">
       <Resource name="jdbc/app"
            maxActive="100" maxIdle="30" maxWait="10000"
            type="javax.sql.DataSource" username="usr" password="pwd"
            driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/app" />
</Context>
知道为什么会发生这种错误吗?为什么是间歇性的

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/app" />
</bean>
getSession().createCriteria(OurClass.class).add(Restrictions.eq("key", key)).uniqueResult();