1
我们的应用程序有多个模块,每个模块在同一个mysql数据库中使用自己的模式。现在我需要为每个模块创建不同的连接池配置,因为它们具有不同的数据库资源消耗特性,即某个模块在某个时间点可能有20个活动连接,但其他模块可能只有1个最大值。我在这里和其他论坛搜索,找不到解决方案,只是这个主题不是关于多租户或多数据库,所有模式都在同一个数据库。应用程序中不同模块的多连接池配置
这里的配置有:
<bean id="dataSource" class="our.own.package.RoutingDataSource"> <!-- RoutingDataSource extends spring AbstractDataSource -->
<property name="master" ref="masterDS"/>
</bean>
<bean id="abstractDataSource" abstract="true">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="initialPoolSize" value="@[email protected]" />
<property name="minPoolSize" value="@[email protected]" />
<property name="maxPoolSize" value="@[email protected]" /> <!-- I want to have different configs for each module in our application -->
</bean>
<bean id="masterDS" class="com.mchange.v2.c3p0.ComboPooledDataSource" parent="abstractDataSource">
<property name="jdbcUrl" value="jdbc:mysql://@[email protected]/" />
<property name="user" value="@[email protected]" />
<property name="password" value="@[email protected]" />
<property name="dataSourceName" value="@[email protected]" />
</bean>
所以现在我有两个问题:
1)是否有可能在春季的一个数据源不同的连接池的配置? 2)如果我必须采用多种数据源方式(一个模块的一个数据源),是否正在实现Spring的AbstractRoutingDataSource
正确的方法呢?
谢谢!
对于你的第一个问题,是的,这是可能的,但你不能在同一时间使用它们。 – akuma8