우리 응용 프로그램에는 여러 모듈이 있으며 각 모듈은 동일한 mysql 데이터베이스에서 자체 스키마를 사용합니다. 이제 다른 db 리소스를 사용하기 때문에 각 모듈마다 다른 연결 풀 구성을 만들어야합니다. 즉, 한 모듈은 한 순간에 20 개의 활성 연결을 가질 수 있지만 다른 모듈은 단지 1 개의 max를 가질 수 있습니다. 여기서는 다른 포럼을 검색했는데 해결책을 찾지 못했습니다.이 주제는 멀티 테넌시 또는 다중 데이터베이스가 아니라 모든 스키마가 동일한 데이터베이스에 있습니다. 여기응용 프로그램의 다른 모듈에 대한 다중 연결 풀 구성
는 config 우리는 가지고있다 :
<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) 여러 개의 데이터 소스 (하나의 모듈에 대해 하나의 데이터 소스)를 사용해야한다면 스프링의 AbstractRoutingDataSource
올바른 방법을 구현하고 있습니까?
감사합니다.
첫 번째 질문은 가능하지만 동시에 사용할 수는 없습니다. – akuma8