풀에서 체크인 및 체크 아웃 할 때 데이터베이스를 전환해야합니다. 예를 들어, 세션 X는 데이터베이스 A에 대한 연결을 받아야하고 세션 Y는 데이터베이스 B에 대한 연결을 받아야합니다.HikariCP - 연결 풀에서 연결 체크인 및 체크 아웃시 연결된 데이터베이스를 동적으로 설정하기
연결 사용자 정의 프로그램을 사용하여 C3P0
으로 처리 할 수 있습니다. 이 방법 onCheckIn
및 AbstractConnectionCustomizer
의 onCheckOut
호출, 그래서 나는 같은 것을 할 수있다 : 나는 에 HikariCP 전환하는 것을 시도하고있다
public class MyConnectionCustomizer extends AbstractConnectionCustomizer {
@Override
public void onCheckOut(Connection c, String parentDataSourceIdentityToken) throws Exception {
if (something) {
c.setCatalog("some database name");
}
}
@Override
public void onCheckIn(Connection c, String parentDataSourceIdentityToken) throws Exception {
c.setCatalog("some other database name");
}
}
을하지만 연결이 만들어 질 경우는 한 번만 IConnectionCustomizer
의 customize
메소드를 호출 . 그렇다면 어떻게 이러한 기능을 구현할 수 있습니까?
특히 SaaS 마켓 플레이스 제품과 관련하여 많은 사용 사례가 있습니다. 살펴보실 수 있습니다 : https://docs.microsoft.com/en-us/azure/sql-database/saas-tenancy-app-design-patterns –