Jdbc多数据源动态切换项目

Jdbc多数据源动态切换项目,第1张

如何实现多数据源动态切换!

最近接到一个监控数据库资源情况的小项目。需要监控多个数据库的长时间耗时的SQL,并发出短信预警提醒。

技术实现思路:

1、通过配置设置一个主数据库,通过主数据库读取需要监控的数据库的地址,账号密码,驱动类型,需要执行的SQL,以及查询结果字段,短信模板等。

2、使用jdbc模板实现,动态数据源的配置及切换。

3、短信内容实现动态替换,模板引擎替换

4、动态SQL,根据执行类型字段,支持增删改查的SQL

5、可以根据插入的SQL的链路串起来SQL执行顺序。前边的SQL也可以动态生成后续需要动态执行的SQL,动态插入到执行SQL列表中。

今天先把思路设计出来,后续再上实现的代码。

jdbc和连接池对于你这个场景来说,都足够,既然用spring管理了,建议还是使用连接池,另外,spring自身没有实现连接池,一般都是对第三方连接池的包装,常见的有C3P0,dbcp以及最近比较流行的boneCP等,这几个配置都差不多太多,以boneCP为例:

<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"

destroy-method="close">

<property name="driverClass" value="${jdbc.driverClass}" />

<property name="jdbcUrl" value="${jdbc.url}" />

<property name="username" value="${jdbc.user}" />

<property name="password" value="${jdbc.password}" />

<property name="idleConnectionTestPeriod" value="60" />

<property name="idleMaxAge" value="240" />

<property name="maxConnectionsPerPartition" value="30" />

<property name="minConnectionsPerPartition" value="10" />

<property name="partitionCount" value="2" />

<property name="acquireIncrement" value="5" />

<property name="statementsCacheSize" value="100" />

<property name="releaseHelperThreads" value="3" />

</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">

<property name="dataSource" ref="dataSource" />

</bean>

使用jdbcTemplate做你的数据 *** 作即可,jdbcTemplate是spring对jdbc的封装,很实用,也很简单,楼主可以了解下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9692012.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存