在我们的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();
知道为什么会发生这种错误吗?为什么它会断断续续?