您的位置:首页 > 运维架构 > Tomcat

Tomcat 和 Jetty 下 JNDI 配置 DBCP 连接池

2015-04-03 10:02 393 查看



Tomcat 的配置如下:(在某个App的context.xml中,或某个虚拟主机的ROOT.xml中)

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

<Context path="">

<Resource name="jdbc/pgsqldbcp"

auth="Container"

type="javax.sql.DataSource"

factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"

driverClassName="org.postgresql.Driver"

url="jdbc:postgresql://localhost/xxxxdb"

username="postgres"

password="xxxx"

maxActive="20"

/>

</Context>

这里使用Tomcat带的tomcat-dbcp.jar包,它包含了 commons-collections.jar, commons-pool.jar, commons-dbcp.jar,如果不使用tomcat-dbcp.jar 则需要将上述3个包拷贝到 Tomcat的lib中。另外把数据库的驱动包拷贝到Tomcat的lib中,就可以了。
Jetty 下的配置如下:(在jetty-env.xml文件中)

<?xml version="1.0"?>

<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN"

"http://jetty.mortbay.org/configure.dtd">

<Configure class="org.mortbay.jetty.webapp.WebAppContext">

<New id="pgsqldbcp" class="org.mortbay.jetty.plus.naming.Resource">

<Arg>jdbc/pgsqldbcp</Arg>

<Arg>

<New class="org.apache.commons.dbcp.BasicDataSource">

<Set name="driverClassName">org.postgresql.Driver</Set>

<Set name="url">jdbc:postgresql://localhost/xxxxdb</Set>

<Set name="username">postgres</Set>

<Set name="password">xxxx</Set>

<Set name="maxActive">10</Set>

</New>

</Arg>

</New>

</Configure>

如果使用maven-jetty-plugin插件开发应用,在pom.xml如下配置:

<plugin>

<groupId>org.mortbay.jetty</groupId>

<artifactId>maven-jetty-plugin</artifactId>

<version>6.1.7</version>

<configuration>

<webDefaultXml>src/test/resources/webdefault.xml</webDefaultXml>

<jettyEnvXml>src/test/resources/jetty-env.xml</jettyEnvXml>

<contextPath>/exjour</contextPath>

<scanIntervalSeconds>10</scanIntervalSeconds>

<connectors>

<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">

<port>8000</port>

<maxIdleTime>60000</maxIdleTime>

</connector>

</connectors>

</configuration>

</plugin>

以上,就完成了Tomcat和Jetty下DBCP在JNDI中的配置,在开发中spring中的dataSource可以按如下形式写:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">

<property name="jndiName" value="java:comp/env/jdbc/pgsqldbcp"/>

</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: