Tomcat在哪里记录数据源的JNDI故障?

时间:2014-03-15 13:11:34

标签: java spring tomcat

我最近使用我的tomcat项目跟踪了一个使用JNDI数据源的问题,发现我使用了错误的类型。 context.xml包括以下内容:

<Resource name="jdbc/myDataSource" type="org.apache.commons.dbcp.BasicDataSource" ...

什么时候应该使用:

<Resource name="jdbc/myDataSource" type="javax.sql.DataSource" ...

我在这个简单的问题上浪费了5个小时,因为我没有看到与问题相关的有用错误消息。我在Spring中引用了资源:

<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/myDataSource" />

..我收到的唯一反馈是

SEVERE: Servlet /myServlet threw load() exception
javax.naming.NamingException: Cannot create resource instance
    at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:146)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:843)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
    ...

我真的很好奇调试此类问题的最佳方法。我已经在context.xml中声明了这个资源创建了一个空的Tomcat实例,但是没有记录错误,并且/ manager / text / resources似乎没有显示myDataSource的正确版本或不正确版本。< / p>

0 个答案:

没有答案