error:JDBC driver unregisted when the web application stops

Since version 6.0.24, Tomcat ships with a memory leak detection feature, which in turn can lead to this kind of warning messages. This particular message is caused by Tomcat's builtin DBCP not deregistering drivers properly on close. See also bug DBCP-322 . This message is purely informal, Tomcat has already taken the memory leak prevention action accordingly.

What can you do?

  1. Ignore those warnings. Tomcat is doing its job right. The actual bug is in someone else's code, not in yours. Be happy that Tomcat did its job properly and wait until the DBCP guys get it fixed so that you can upgrade. The DBCP project is however currently stalling. I wouldn't expect quick updates.

  2. Downgrade to Tomcat 6.0.23 or older so that you will not be bothered with those warnings. But it will silently keep leaking memory. Not sure if that's good to know after all. Those memory leaks are one of the major causes behind OutOfMemoryError issues during Tomcat hotdeployments.

  3. Decorate BasicDataSource#close() yourself so that it is deregistering the driver properly. Also see the code example in the above link to DBCP-322 bug.

  4. Replace DBCP by another connection pool which is doing its job better then DBCP. For example BoneCP or Tomcat JDBC Pool maybe?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值