C3PO数据库连接池的疑问,来学习、

问题描述

我的web应用用了C3P0连接池,程序启动会自动注册数据库连接池!我把应用同时部署到两台tomcat上,我想问的是第一台tomcat启动后,初始化了C3PO的连接池,第二台tomcat启动后还会初始化连接吗?贴出部分配置:<propertyname="initialPoolSize"value="50"></property><propertyname="minPoolSize"value="50"></property><propertyname="maxPoolSize"value="100"></property>

假如我第一个tomcat启动后初始化了50个连接,第二个还会初始化连接50个连接吗,还是直接用第一个的?两台tomcat各自访问的时候他们的连接池是共用一个还是会分开各自用?

解决方案

解决方案二:
没有大神遇见过吗?
解决方案三:
应会的。部署在两台tomcat上,相互独立的容器,你觉得呢。数据库上应该可以看当前连接的情况的。
解决方案四:
两个tomcat,那就得两个连接池,初始合计100个连接。即使是一个tomcat,里面两个应用,仍然会是两个连接池。除非配置一个全局的JNDI数据源,而且必须保证在一个Tomcat中(多Tomcat实际就是多进程)。

时间: 2024-12-02 09:59:37

C3PO数据库连接池的疑问,来学习、的相关文章

数据库连接池的疑问

问题描述 看了一个下午的资料,感觉自己已经糊涂了,就是到底什么是数据库连接池,自己大致在两个方面混淆,第一是在建立连接的时候pooling=true这个时候自动启用连接池,第二是在程序里建立一个list,里面包存很多connection对象,需要的时候直接返回一个就行,问题就是第二种也可以称之为连接池吗,到底哪一个是连接池??我知道连接池可以节约资源等,那么第二种方式有什么用,有必要吗?谢谢大家 解决方案 解决方案二:跟线程池一样,一开始是没有的,你用了就开始创建,用完了不会立刻销毁,而是看空闲

JDBC编程学习笔记之数据库连接池的实现

在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC,就会较好的解决资源的创建与连接问题,其主要还是针对于连接资源使用层面的改进.下面我就谈一谈我对数据库连接池的理解. 数据库连接池理论基础 对于创建一个数据库连接池,需要做好准备工作.原理就是先实现DataSource接口,覆盖里面的getConnection()方法,这个方法是我们最为关注的.既然

高性能数据库连接池的内幕

大家可能会有这样疑问:连接池类似于线程池或者对象池,就是一个放连接的池子,使用的时候从里面拿一个,用完了再归还,功能非常简单,有什么可讲的. 可能还会有这样的疑问:高性能这么高大上,一个小小的连接池,如何跟高大上靠上边的. 本主题将会全面介绍连接池原理,高性能的设计,优化实践,现有连接池的瓶颈及解决方案.同时也会介绍唯品会自研数据库连接池产品(代号:Caelus) 为什么要有连接池 先看一下连接池所处的位置:              应用框架的业务实现一般都会访问数据库,缓存或者HTTP服务.

Mybatis update数据库死锁之获取数据库连接池等待_java

 最近学习测试mybatis,单个增删改查都没问题,最后使用mvn test的时候发现了几个问题: 1.update失败,原因是数据库死锁 2.select等待,原因是connection连接池被用光了,需要等待 get: 1.要勇于探索,坚持就是胜利.刚看到错误的时候直接懵逼,因为错误完全看不出来,属于框架内部报错,在犹豫是不是直接睡 觉得了,毕竟也快12点了.最后还是给我一点点找到问题所在了. 2.同上,要敢于去深入你不了解的代码,敢于研究不懂的代码. 3.距离一个合格的码农越来越远了,因为

Tomcat下配置MySQL数据库连接池

mysql|数据|数据库|数据库连接 经过大半天的实践和摸索,终于在Tomcat下成功地配置MySQL的数据库连接池.总结如下: 1.在$CATALINA_HOME/conf/server.xml中添加配置信息,声明连接池的具体信息,添加内容如下: <!--声明连接池--> <Resource name="jdbc/mysql"auth="Container" type="javax.sql.DataSource"/> &

一种实现数据库连接池的方法(3)

数据|数据库|数据库连接 DataSourceImpl是一个实现了接口javax.sql.DataSource的类,该类维护着一个连接池的对象.由于该类是一个受保护的类,因此它暴露给使用者的方法只有接口DataSource中定义的方法,其他的所有方法对使用者来说都是不可视的.我们先来关心用户可访问的一个方法getConnection /** * @see javax.sql.DataSource#getConnection(String,String) */    public Connecti

使用JAVA中的动态代理实现数据库连接池

动态|数据|数据库|数据库连接 数据库连接池在编写应用服务是经常需要用到的模块,太过频繁的连接数据库对服务性能来讲是一个瓶颈,使用缓冲池技术可以来消除这个瓶颈.我们可以在互联网上找到很多关于数据库连接池的源程序,但是都发现这样一个共同的问题:这些连接池的实现方法都不同程度地增加了与使用者之间的耦合度.很多的连接池都要求用户通过其规定的方法获取数据库的连接,这一点我们可以理解,毕竟目前所有的应用服务器取数据库连接的方式都是这种方式实现的.但是另外一个共同的问题是,它们同时不允许使用者显式的调用Co

数据库连接池-连接的关闭内幕

们经常会遇到这样那样的连接未关闭的问题,连接没有及时关闭导致的直接后果就是内存泄漏直至down机.我们也都知道解决的方式,但是在解决了问题之后经常会思考为什么会这样呢?连接close()掉,然后在创建不是很浪费cpu等系统资源嘛?有没有更好的方法解决呢?大家也经常听到连接池.线程池之类的线程.池的概念,那么究竟这些概念与我们的连接有什么关系呢?        下面我就想就上面的问题谈谈我的一点浅见,请大家批评指正.        大家都知道java语言是一种语言级的多线程机制的面向对象语言.比如

java使用dbcp2数据库连接池_java

在开发中中我们经常会使用到数据库连接池,比如dbcp数据库连接池,本章将讲解java连接dbcp数据库库连接池的简单使用. 开发工具myeclipse2014 1.首先创建一个web项目,我把项目名取名为testjdbc,需要带有web.xml的配置文件,进行servlet的配置,创建完成以后的项目结构如下: 2.创建包,我创建的包名是com.szkingdom.db 3.创建帮助类CastUtil,代码如下: package com.szkingdom.db; /** * Created by