OceanBase client升级由1.1.7升级到2.2.11问题咨询

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】当前驱动版本为1.1.7,升级至2.2.11问题
【问题描述】当前项目中使用的OceanBase client版本为1.1.7,再升级到2.2.11版本时遇到一下问题:
在1.1.7版本中,提供了一个AbandonedConnectionCleanupThread类,但是在升级到2.2.11版本后,项目报错找不到对应的类,查看对应的源码后发现这个类已经不存在了,请问这个类是否有替代类?是否在新版本提供了对应的操作?执行代码为AbandonedConnectionCleanupThread.shutdown();
【复现路径】新建springboot项目后,优先引入1.1.7依赖,后编码此段代码:AbandonedConnectionCleanupThread.shutdown(); ,编译通过,项目启动正常;将OceanBase client版本升级至2.2.11版本后,此段代码报错,找不到对应的实现类、
【问题现象及影响】 此段代码导致升级后项目启动异常

【附件】
AbandonedConnectionCleanupThread.shutdown(); 异常代码段

你是在项目代码中用到这个方法了吗?

是的,我在项目中引用这段代码,将废弃连接关闭,但是在2.2.11版本并未提供对应的类

找相关的研发确认了下,确实是没有了,也没有替代的类。它是用于内部调用的,不推荐用户手动引入使用。

连接池一般都是自动关闭,还需要自己关闭?

成熟的连接池会自己关闭连接的,除非你说的是手搓的连接池

那请帮忙确认下如果使用2.2.11版本,关停应用的时候是否会自动关闭应用连接池存的连接?

成熟的确实会,但是我们之前就是遇到了关闭项目的时候连接池里面的连接没有关闭,关停项目的时候打印报错信息了

调用 DataSource 的 close 方法是会关闭整个连接池的。
https://github.com/oceanbase/obconnector-j/blob/master/src/main/java/com/oceanbase/jdbc/OceanBasePoolDataSource.java#L649

1 个赞