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

时间:2017-08-16 15:52:53

标签: java tomcat datasource jndi

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

  

javax.naming.NameNotFoundException:名称[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();

知道为什么会发生这种错误吗?为什么它会断断续续?

0 个答案:

没有答案