tomcat 下的JNDI仅仅是个gift, 没有商业服务器的绝对稳定。出现这种问题是因为配置文件出错,建议从头再来一遍。
第一步,配置全局的jndi数据源
第二步,修改server.xml 。一般正确 完成第一步后,系统自动完成server.xml的修改,但有个地方要改一下
<GlobalNamingResources>
<Environment value="30" type="java.lang.Integer" name="simpleValue"/>
<Resource type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" auth="Container" name="UserDatabase"/>
<Resource type="javax.sql.DataSource" auth="Container" name="jdbc/v3"/>
<Resource type="javax.sql.DataSource" auth="Container" name="jdbc/v3hd"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="jdbc/v3">
。。。。。。
</GlobalNamingResources>
红色的地方要加上。
第二步 ,修改应用下的web.xml文件
主要是在</web-app>之前添加如下
<resource-ref>
<description>DB2 Datasource v3hd</description>
<res-ref-name>jdbc/XXX</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
第三步,修改应用的xml , 一般在Tomcat 5.0/conf/Catalina/localhost/下,比如myproject.xml,添加如下:
<ResourceLink global="jdbc/XX" name="jdbc/XX" type="javax.sql.DataSource"/>
然后,重起tomcat!