能不能不基于框架使用cp30java数据库连接池框架

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&4615人阅读
由于项目中多个应用访问同一个数据库,并部署在同一个tomcat下面,所以没必要每个应用都配置连接池信息,这样可能导致数据库的资源分布不均,所以这种情况完全可以配置一个tomcat的全局连接池,所涉及应用均访问该连接池,让数据库资源得以充分利用。
本人使用了c3p0连接池,对c3p0虽然没做过相关性能测试,但是网评还不错,使用的是0.9.1版本,tomcat 使用 7.0.32&
配置分为几个步骤:
一、在tomcat的server.xml中配置数据源
找到GlobalNamingResources节点,在里面新增如下内容(其中具体参数意义请参考c3p0官方说明):
&Resource name=&jdbc/db1& auth=&Container&
type=&com.mchange.boPooledDataSource&
factory=&org.apache.naming.factory.BeanFactory&
driverClass=&oracle.jdbc.driver.OracleDriver&
jdbcUrl=&jdbc:oracle:thin:@127.0.0.1:1521:orcl&
user=&scott&
password=&123456&
minPoolSize=&10&
maxPoolSize=&200&
maxIdleTime=&1800&
acquireIncrement=&2&
maxStatements=&0&
initialPoolSize=&20&
idleConnectionTestPeriod=&60&
acquireRetryAttempts=&30&
acquireRetryDelay=&1000&
testConnectionOnCheckin=&false&
breakAfterAcquireFailure=&false&
testConnectionOnCheckout=&false&/&
二、在tomcat下content.xml中配置数据源对应的JNDI
&ResourceLink name=&jdbc/db1& global=&jdbc/db1&
type=&javax.sql.DataSource&/&三、将c3p0的jar包、数据库驱动包放到tomcat下lib目录里面
应用访问方式:
一、基于spring进行管理,只需要在spring中配置数据源即可
&bean id=&dataSource& class=&org.springframework.jndi.JndiObjectFactoryBean&&
&property name=&jndiName& value=&java:comp/env/jdbc/db1& /&
二、写代码直接通过JNDI获取数据源
Context ctx = new
InitialContext();
Context envContext = (Context)ctx.lookup(&java:/comp/env&);//java:/comp/env为固定路径
DataSource ds = (DataSource)envContext.lookup(&jdbc/db1&);//tomcat中设置的数据源
Connection con = ds.getConnection();
System.out.println(con);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:51728次
排名:千里之外
原创:16篇
(1)(1)(3)(1)(1)(1)(3)(1)(1)(1)(2)(2)(4)}

我要回帖

更多关于 cp30连接池 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信