【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
我现在这有一个项目,使用了JFinal 并且使用了多数据源,其中包括一个在configPlugin(Plugins plu)配置的主数据源和3个在服务启动时在 afterJFinalStart()方法中用分线程加载的3个辅助数据源,这几个数据源都用的是阿里巴巴的Druid数据库连接池,配置如图:
这是主数据源的配置
启动的时候我调用
在loadData中用分线程去执行加载数据源
数据源的使用 是用的jfinal支持的Db模式
因为知道在为指定数据源的时候activerecord Db 的一系列操作都是针对于主数据源的 所以也有在项目其他地方使用Db模式操作主数据源
项目的其他一些地方都是遵循的jfinal activerecord Db 支持多数据源的规则,只是其中我在执行存储过程的时候操作数据源的方式不同
我是直接根据相关条件获取到的一个数据源获取的链接
获取不到链接..每次只有重启tomcat才能解决,这个问题出现了有些时候了,当时以为是数据库服务器的配置问题,因为只是会有一台服务器会出现获取链接超时的问题,可是后来改了服务器的配置,还是不行,所以我不知道是不是代码的问题,那如果是代码的问题,我是哪里出错了吗?希望波波给予解答,谢谢
这是主数据源的配置
启动的时候我调用
在loadData中用分线程去执行加载数据源
将加载出来的数据源放到一个集合中
然后在获取数据源的方法中,根据需求用对应的ip作为键值 获取数据源
数据源的使用 是用的jfinal支持的Db模式
因为知道在为指定数据源的时候activerecord Db 的一系列操作都是针对于主数据源的 所以也有在项目其他地方使用Db模式操作主数据源
项目的其他一些地方都是遵循的jfinal activerecord Db 支持多数据源的规则,只是其中我在执行存储过程的时候操作数据源的方式不同
我是直接根据相关条件获取到的一个数据源获取的链接
上面这些就是我在项目中使用jfinal操作多数据源的步骤
问题:但是在使用的过程中,或两三天,或四五天,就会出现一个获取链接超时的错误
获取不到链接..每次只有重启tomcat才能解决,这个问题出现了有些时候了,当时以为是数据库服务器的配置问题,因为只是会有一台服务器会出现获取链接超时的问题,可是后来改了服务器的配置,还是不行,所以我不知道是不是代码的问题,那如果是代码的问题,我是哪里出错了吗?希望波波给予解答,谢谢
可能与你在本问答中的 DbKit.close(cs, con) 这行代码有关系。看一下 JFinal 中的DbKit.close源码,里面会有这样的判断:
记得解决问题后回来分享给大家
引用来自“JFinal”的答案
可能与你在本问答中的 DbKit.close(cs, con) 这行代码有关系。看一下 JFinal 中的DbKit.close源码,里面会有这样的判断:
记得解决问题后回来分享给大家
嗯,我也考虑到了,在代码中,除了调用存储过程的地方是手动关闭链接的,其他地方都是用的Db的系列方法,而Db的系列方法会自动的关闭链接。
谢谢@JFinal的细心解答,等我改过之后,如是这个问题,我再来分享。