2012-03-01 8 views
4

Oracle RAC 데이터베이스를 사용하는 응용 프로그램이 있습니다. 데이터베이스 노드에서 유지 관리 작업을 실행하려면 데이터베이스 노드 1에서 모든 연결을 마이그레이션 한 다음 유지 관리를 위해 노드를 전환하고 싶습니다.잠시 후 JDBC 연결 재활용

내가 원하는 것은 데이터베이스 연결이 X 분 이상 열려 있지 않도록하는 것입니다. DB 노드를 유지 관리 할 때 해당 노드에서 열린 연결은 최대 X 분 후에 닫히고 다른 노드에서 재생성됩니다.

사용되는 연결 풀은 common-dbcp이며 tomcat-jdbc로 이동합니다. 두 풀 모두에 대해 일정 시간 후에 연결을 강제로 강제로 재구성하는 구성 옵션을 볼 수 없습니다. 내가 놓친 게 있니? 아니면 표준 옵션이 아닌가?

+0

나는 그 선택권을 생각하지 않는다. 당신은 빌릴 때 시험을 사용할 수 있지만 그 시험은 만만치 않다. 어쩌면 풀 전체를 파기하고 옵션을 추가하여 유지 보수를 위해 시스템을 종료 할 때 다시 호출 할 수 있습니다. –

+0

노드에서 이미 열린 연결이 여전히 유효하기 때문에 차용 테스트가 도움이되지 않습니다. 전체 수영장을 파괴하면 현재 피할 수없는 연결이 끊어 질 것입니다. – Guillaume

+0

내가 U를 멋지게 파괴 할 수 있다고 생각하기 때문에 풀에없는 연결은 반환 된 후에 파괴됩니다. –

답변

2

tomcat-jdbc documentation에서 보면 필요한 거의 모든 것을 수행하는 maxAge 매개 변수가 있음을 알 수 있습니다. 다음 주에 확인을 위해 몇 가지 점검을하고 결과를 반영하도록이 답변을 업데이트 할 것입니다.

+0

결과는 어떻습니까? :) –