`
阅读更多


70.  现在来看一下连接池的概念,我们一个商业性的项目肯定要使用连接池的,他有什么作用,我们访问数据库的时候获取连接的时候是非常慢的,使用连接池的话,我先创建一些连接全放在连接池里面。事先放好,以后你要用的话,就直接拿。就省去了创建的时间。


71.  如果你使用了连接池的话,比如说你拿到连接调用方法添加了用户,一调用完不是把连接池关了,而是把连接池送回去。虽然也是conn.close()但是实际上没有关闭,而是把flag=true改成flag=false这么一改。现在不就是又可以用了嘛。


72.  连接池貌是这样的,比如下面有三个连接
conn1  张三进来了,拿这个连接,把这个连接拿走了,你这相当于有一个标记一样,flag=true,true表示被使用。
conn2  假设李四把这个拿走了,也是flag=true;
conn3  flag=false表示这个连接处于空闲状态。


73.  假设上面三个都被用了呢?这还得看你这个池的限制,假设我现在最多能放10个,那么现在第四个用户进来的话,那么 我马上创建一个conn.现在再来用户就一直往 上加,就再创一个直到第10个,假设第11个进来了,就等着呗,如果第11个一直等一直等,他就超时错误了,就像那个session一样。


74.  他可以设置一个最大的上限和一个最小的下限。
最小的下限:即一启动的时候最小创建多少个连接。

75.  其实你可以自己写一个连接池,你自己写的意义不大,这些成熟的东西有的是,我们以前也写过,很久以前了,01年,王勇说他们的一个同事写的,因为那时候刚开始接触java,也不太懂,他01年接触java的,


76.  他说他的同事写的有问题,用着用着2小时机器就得重启一下。这个问题其实很容易发生。


77.  特别是多个人做的时候,如果管理不好,什么事啊,连接没了,假设我现在给这个连接池30个连接,正常情况下30个连接已经很大了。你想30个人同时占用,你这个访问量得多大啊,同时 占30个,第31个来的时候,等的时候没有可能会出问题,


78.  我们那时出了什么问题呢?他这个连接池写得有毛病,也不是说连接池写得有毛病,就是说成员做开发,写的代码有问题,他那个偶尔就没有释放这个连接,你看啊,假设张三来使用conn1,张三操作了某个功能,这个功能写得有问题啊,他用完这连接就没释放,那这个连接就一直占着啊,其他人操作可能都释放了,偶尔张三又操作一下,又没有释放,那他又占一个,直到他把30个全占了,占满之后,第31个人再来,没了,没了机器就得重启啊,重启的话,这连接不就释放了吗?再重新来,这系统肯定不行是吧,这就属于内存泄漏了,


79.  所以说在大的项目里,这种资源都是我去释放的,就很容易出现问题,出现之后很难找,


80.  项目那么 大的话,你知道是点到什么地方出了什么问题吗?他是偶尔就不行了,偶尔就不行了,以前他在工作的时候也出现 过这种问题。


81.  我们用连接池主要用哪个啊,就用tomcat集成的那个dbcp  ,连接池又用别的c3p0,以前我们还用过poolman    关于这个dbcp我们也说过,在说这个上传的时候。


82.  这个dbcp和oracle,mysql这些没有任何关系,他就负责创建连接,管理连接。


83.  在tomcat的common目录下,有一个dbcp.jar的包,位于common这个目录下,我们刚讲这个类加载机制,那个oracle  driver放在Web App1下面,这个能产生连接,这个连接你得放到dbcp这个池里,

Common    连接池放在这
Shared
Web App1   oracle jdbc  放这
你现在产生的连接能放到上面的连接池里面去吗?放不了,跟类的加载机制有关,所以你要配置连接池,你必须把Web App1下面的相关驱动放到Common里面,让他们使用同一个加载器加载。


84.  他是这样说的,必须把Web App1下面的ojdbc驱动放到common里面,我好像没有这样做啊,


85.  关于这个连接池,怎么来配置呢?你其实可以通过修改tomcat的配置文件来配,但是我们来接触一下,tomcat的配置页面,用他的管理页面来配,他说这个管理页面需要重新下载,他本身不带,

分享到:
评论

相关推荐

    common-dbcp2数据库连接池参数说明

    ### common-dbcp2数据库连接池参数详解 随着`commons-dbcp2`的版本更新,数据库连接池的配置也有了相应的调整。为了更好地理解和配置这些参数,本文将详细解析`commons-dbcp2`中的一些关键参数及其意义。 #### 1. ...

    理光Cor-C1现场维修手册

    - 操作时需小心,以防色粉泄漏。 - 若色粉进入人体,应立即采取相应措施,并在必要时就医。 - 色粉泄漏到衣物上时,立即清洗,避免使用热水。 - **激光安全** - 激光光学单元的修理应在工厂或具备条件的专业...

    or-c1_fsm_cn_final_060112.pdf

    - 取出卡纸或更换色粉时要小心,防止色粉泄漏。 - 若色粉进入呼吸道、眼睛或皮肤,应立即采取相应措施,并视情况就医。 - 未使用的色粉和空色粉容器应存放在阴凉干燥处,远离儿童。 **2.2 操作说明** - 移动主机前...

    remote-connection-with-sql.rar_remote_远程数据库

    在IT行业中,数据库远程连接...在实际项目中,你可能还需要考虑更多细节,如错误处理、事务管理、连接池的使用等。在压缩包文件"远程连接"中,可能包含了示例代码或更具体的指导,你可以参考这些资料进一步学习和实践。

    智家人智能锁-ZKF-H06C-L拆解

    - **拆解步骤**:首先卸下前面板上的固定螺丝,然后小心分离面板与主体之间的连接,避免损坏内部线路。 ##### 2.2 后面板拆机过程 - **后面板结构**:主要包括电池供电、配置键和外部模块连接接口等部分。 - **...

    java操作各种数据库 通用类

    - 在实际生产环境中,通常会使用连接池(如C3P0, HikariCP, Druid等)来管理数据库连接,以提高性能和资源利用率。连接池提供预创建的连接,避免了频繁创建和销毁连接的开销。 8. **批处理** - 当需要执行大量...

    commons-beanutils-1.8.3-bin

    例如,Lang库提供了类型转换的辅助类,DBCP则用于数据库连接池,这些结合使用可以增强应用程序的功能。 7. **最佳实践** - 尽量使用最新的稳定版本,以获得更多的功能和改进。 - 当处理复杂对象或大量属性时,...

    夏普2608 3108 3508维修手册

    - 连接:指示连接器的连接。 - 断开:指示连接器的断开。 - 取下线缆:指示松开线缆。 - 连接线缆:指示连接线缆。 - 取下夹具:指示移除夹具。 - 安装夹具:指示安装夹具。 - 松开挂钩:指示松开挂钩。 - ...

    XT30(2+2)-F datasheet

    - **小心使用**: 连接器属于精密部件,使用时需谨慎小心。 此外,文件还特别强调了一些重要的安全提示,例如不要在通电状态下插拔连接器,避免在连接器和电线受力的状态下通电,以及不要在高温、高湿的环境下使用等...

    松下摄像头175PGQX1102ZAC1_WV-SW175H_IG

    - 小心轻放,避免坠落、强烈冲击或震动。 - 若电脑显示器长时间显示同一画面可能导致损伤,建议启用屏幕保护功能。 - **异常处理**: - 检测到异常时摄像头将自动重启,在此期间不可操作。 - 长期不使用时,建议...

    消防水池模板施工方案.pdf

    - 结构底部和池壁模板采用组合钢模板和定型模板,设置止水拉片以防止渗漏,并通过外背钢管与内部架子连接。 四、模板的拆除 - 混凝土达到一定强度后(1.2MPa)才能拆除墙板模板,以保护表面和棱角。 - 拆模时要小心...

    DB2常用命令集

    - **注意事项**: 恢复操作可能会覆盖现有数据,因此在执行恢复前请务必小心。 - **示例**: `db2restoredb backupdb` #### 10. 导出数据 - **命令**: `db2move <dbname> export` - **描述**: 导出指定数据库中的...

    jboss-service.xml could not be opened, does it exist 配置jboss遇到的问题

    这些服务包括但不限于数据库连接池、邮件服务、日志配置等。因此,这个文件对于JBOSS服务器的正常运行至关重要。 #### 为什么会出现“jboss-service.xml could not be opened, does it exist”这样的错误? 当出现...

    mybatis-spring-1.2.2.jar

    同时,通过合理配置,可以利用 Spring 的连接池管理,提高数据库操作的效率。 8. **异常处理**:MyBatis-Spring 将 MyBatis 的 SQL 执行异常转换为 Spring 的 DataAccessException,使得异常处理更加符合 Spring 的...

    IIS数据库连接出错之解决方案

    - 排查IIS的配置问题,确保应用程序池、网站配置以及身份验证模式等方面都正确无误。有时候,错误的配置会导致数据库连接失败。 - 检查数据库连接字符串是否正确,包括服务器地址、数据库名称、用户名和密码等参数...

    佳能IPF710维修手册

    - 接口规格: 包括USB、以太网、IEEE1394等连接方式的技术参数。 - **部件名称与功能:** - 描述了设备前面、后面、小车等各部件的功能。 **2.2 安全与注意事项** - **安全注意事项:** - 活动零件: 避免接触移动...

    通过VB来连接oracle数据库做查询

    在实际应用中,可能还需要考虑异常处理、事务管理和连接池等高级话题,以确保代码的健壮性和性能。 在提供的压缩文件“VB_oracle_V1.0”中,可能包含了一个完整的VB示例程序,用于演示如何实现上述步骤。你可以下载...

    WTW 仪表资料.pdf

    - **小心**:指可能的有害情况,发生时可能导致轻微至中等程度的伤害。 - **注意**:强调重要信息。 - **警告标记**:请仔细阅读仪器上所有标记和标签,以防人员受伤或设备损坏。 #### 四、规格与安装 - **规格*...

Global site tag (gtag.js) - Google Analytics