.DruidConnectionHolder-getHoldability unsupported的处理

  数据使用的是Sybase,驱动为jconn3.jar,使用Druid连接数据库时报错。错误日志:

  2021-10-12 17:00:01.239 [main] WARN c.a.druid.pool.DruidConnectionHolder - getHoldability unsupported

  com.sybase.jdbc3.utils.UnimplementedOperationException: 尚未完成方法 com.sybase.jdbc3.jdbc.SybConnection.getHoldability(),不应调用它。

  查看源码发现,DruidConnectionHolder中有个静态变量控制这个getHoldability的执行

  boolean initUnderlyHoldability=!holdabilityUnsupported;

  if (("sybase".equals(dataSource.dbType)) ||

  ("db2".equals(dataSource.dbType)) ||

  ("hive".equals(dataSource.dbType)) ||

  ("odps".equals(dataSource.dbType))) {

  initUnderlyHoldability=false;

  }

  虽然数据库是SyBase的,但是db-type:sysbase启动就页面报错,只能用db-type:sqlserver,而sqlserver不在排除逻辑里。介于holdabilityUnsupported是一个public的静态变量,所以只能手动排除,处理方法如下。

  DruidConnectionHolder.holdabilityUnsupported=true;

  ApplicationContext context=SpringApplication(Application.class, args);

  即在Druid启动前,将holdabilityUnsupported置为true,让Druid不要去执行驱动的getHoldability方法。

  

.DruidConnectionHolder-getHoldability unsupported的处理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值