spring切换数据源(dataSourceRouter),连接池问题的一些疑问

昵称2021 2017-08-31 03:35:49
使用spring管理多数据源并使用spring的数据源路由切换数据源,切换数据源之后连接池中存在的连接(切换数据源之前就存在的)是怎么处理的,是自动到期销毁?还是切换数据源之后会主动清除这些连接,还是怎么处理呢?
...全文
728 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
昵称2021 2017-09-14
  • 打赏
  • 举报
回复
一个线程中在已经进行了一次查库操作的情况下,当前线程还可以切换数据源吗?假如一个http请求在service中进行了一次查库,然后切换数据源,这时候还能切换成功吗
昵称2021 2017-09-01
  • 打赏
  • 举报
回复
引用 6 楼 pilnyun335857183 的回复:
[quote=引用 5 楼 bluuusea 的回复:] [quote=引用 4 楼 pilnyun335857183 的回复:] 楼主如果是通过AbstractRoutingDataSource实现的话,那么数据源连接的获取是适配到配置的targetDataSources下的不同类别中的。也就是说不同的数据源连接是在不同的连接池中的(如果用的是池化的数据源的话);所以池中的连接继续使用也没关系,因为它们在不同的连接池里面。
嗯,是通过AbstractRoutingDataSource实现的,也就是说如果是通过连接池管理的话,如果n个数据源,就是有n个连接池?[/quote] AbstractRoutingDataSource只是一个适配器,最终的连接还是来自targetDataSources下的各个数据源。如果targetDataSources下n个数据源都是池化数据源那就是有n个连接池[/quote] 这样啊,和我理解有点偏差,我以为是targetDataSources下面的所有数据源都由一个连接池管理的
pilnyun335857183 2017-08-31
  • 打赏
  • 举报
回复
引用 5 楼 bluuusea 的回复:
[quote=引用 4 楼 pilnyun335857183 的回复:] 楼主如果是通过AbstractRoutingDataSource实现的话,那么数据源连接的获取是适配到配置的targetDataSources下的不同类别中的。也就是说不同的数据源连接是在不同的连接池中的(如果用的是池化的数据源的话);所以池中的连接继续使用也没关系,因为它们在不同的连接池里面。
嗯,是通过AbstractRoutingDataSource实现的,也就是说如果是通过连接池管理的话,如果n个数据源,就是有n个连接池?[/quote] AbstractRoutingDataSource只是一个适配器,最终的连接还是来自targetDataSources下的各个数据源。如果targetDataSources下n个数据源都是池化数据源那就是有n个连接池
昵称2021 2017-08-31
  • 打赏
  • 举报
回复
引用 4 楼 pilnyun335857183 的回复:
楼主如果是通过AbstractRoutingDataSource实现的话,那么数据源连接的获取是适配到配置的targetDataSources下的不同类别中的。也就是说不同的数据源连接是在不同的连接池中的(如果用的是池化的数据源的话);所以池中的连接继续使用也没关系,因为它们在不同的连接池里面。
嗯,是通过AbstractRoutingDataSource实现的,也就是说如果是通过连接池管理的话,如果n个数据源,就是有n个连接池?
pilnyun335857183 2017-08-31
  • 打赏
  • 举报
回复
楼主如果是通过AbstractRoutingDataSource实现的话,那么数据源连接的获取是适配到配置的targetDataSources下的不同类别中的。也就是说不同的数据源连接是在不同的连接池中的(如果用的是池化的数据源的话);所以池中的连接继续使用也没关系,因为它们在不同的连接池里面。
昵称2021 2017-08-31
  • 打赏
  • 举报
回复
引用 2 楼 tianfang 的回复:
连接池中的继续连接,而且会定期检测,中断了就重试连接
如果连接池中的继续使用,那如果拿到切换数据源之前的连接不就报错了?这个是怎么避免的呢
tianfang 2017-08-31
  • 打赏
  • 举报
回复
连接池中的继续连接,而且会定期检测,中断了就重试连接
昵称2021 2017-08-31
  • 打赏
  • 举报
回复
多数据源都是由同一个连接池管理的吗,连接池是怎么处理这些数据源的呢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧