读书人

tomcat中配备JNDI的方式

发布时间: 2012-12-24 10:43:14 作者: rapoo

tomcat中配置JNDI的方式

?

tomcat配置jndi分全局和局部两种方式

?

全局的JNDI配置在server.xml里面的<GlobalNamingResources>标签里面添加如下配置:?

? ? <Resource name="jdbc/test"?

? auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

?

? ? 然后某一个项目想要引用这个全局的JNDI,就需要在项目的META-INF下面建立context.xml文件,在里面写上:?

<?xml version="1.0" encoding="UTF-8"?>?

<Context>?

? ? <ResourceLink name="jdbc/test" global="jdbc/test" type="javax.sql.DataSource"/>?

</Context>?

这样就可以在程序里面通过context.lookup("java:comp/env/jdbc/test")进行访问了。?

?

私有的JNDI有三种方式可以配置:?

? ? ? 1、可以直接在server.xml里面的<Host>节点下添加如下配置:?

<Context path="/test_tomcat6_jndi">?

<Resource name="jdbc/test"?

? ? ? auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

</Context>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了,需要注意的是path="/test_tomcat6_jndi",这个名字必须和你的项目名称相同,而且不能少了那个斜杠,而且你的项目是通过拷贝文件夹到webapps下面的方式进行的部署。?

?

? ? ?2、 也可以在conf/context.xml里面增加如下配置:?

? ? ?<Resource name="jdbc/test"?

? ? ? auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?

?

? ? ? 3、还可以在项目的WebRoot下面的META-INF文件夹下面创建context.xml文件,再在context.xml文件里面写上?

<?xml version="1.0" encoding="UTF-8"?>?

<Context>?

? ? <Resource name="jdbc/test"?

? auth="Container"?

? ? ? ? ? ? ? type="javax.sql.DataSource"?

? ? ? ? ? ? ? driverClassName="com.mysql.jdbc.Driver"?

? ? ? ? ? ? ? url="jdbc:mysql://127.0.0.1/test"?

? ? ? ? ? ? ? username="root"?

? ? ? ? ? ? ? password="root"?

? ? ? ? ? ? ? maxActive="20"?

? ? ? ? ? ? ? maxIdle="10"?

? ? ? ? ? ? ? maxWait="-1"/>?

</Context>?

这样就可以直接在程序中通过context.lookup("java:comp/env/jdbc/test")访问了?

?

原文排版颜色不好看,另外还有一些其它一些不需要的介绍,为了简洁,故自己摘抄一遍。

原文链接:http://f543711700.iteye.com/blog/1173618

读书人网 >编程

热点推荐