配置tomcat全局c3p0连接池
2023-09-27 14:20:05 时间
由于项目中多个应用访问同一个数据库,并部署在同一个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.v2.c3p0.ComboPooledDataSource"
- 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" />
- </bean>
二、写代码直接通过JNDI获取数据源
- try {
- 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();
- }
相关文章
- Tomcat一些说明
- windows单机环境下配置tomcat集群
- IntelliJ IDEA配置Tomcat与运行项目
- [转]Tomcat安装配置(手把手教,内容很详细)
- 限制tomcat仅响应本机请求(转)
- javaweb项目配置tomcat启动
- Tomcat降权启动
- Tomcat SSL配置 Connector attribute SSLCertificateFile must be defined when using SSL with APR解决
- Dockerfile 实战--nginx-tomcat-happroxy
- 整合Solr到Tomcat服务器,并配置IK分词
- tomcat配置多域名站点启动时项目重复加载多次
- Eclipse配置Tomcat服务器,通用方法
- 配置tomcat的https通信(单向认证)
- Linux下配置Tomcat服务器
- Web项目打成war包部署Tomcat时运行startup.bat直接闪退
- tomcat,zookeeper,activeMQ,Kafka设置jvm参数
- Tomcat配置SSL安全证书
- linux 学习一:安装jdk和tomcat
- Liunx下Tomcat+MYSQL+Nginx配置
- 实战使用dockerfile发布自定义的Tomcat镜像
- docker安装Nginx、tomcat、Elasticsearch
- Tomcat
- Tomcat使用IDEA远程Debug调试