2010-12-14 1 views
0

Oracle UCP (Universal Connection Pool) 내에서 TimeToLiveConnectionTimeoutCallback을 사용하는 방법은 무엇입니까?Oracle UCP에서 TimeToLiveConnectionTimeoutCallback을 사용하는 방법

PoolDataSource 또는 UniversalConnectionPoolManager에 이러한 콜백을 등록 할 수있는 인터페이스가 있어야합니다. 그리고 나는 그런 인터페이스가 인터페이스에 의해 관련된 Connection을 통과 할 것이라고 기대할 것입니다. 어느 쪽도 진실하지 않다.

나에게 까다로운, 못생긴 (UCP 가져 오기/글루 코드 많이) 및 어려운 (DataSource 래퍼 생성) 것처럼 보이는 각 UniversalPooledConnection에 개별 TimeToLiveConnectionTimeoutCallback을 등록해야하는 것으로 보입니다.

내가 잘못 했습니까? 불행히도 설명서는 그대로 있습니다.

답변

0

몇 시간이 지난 후에, 나는 내 가정이 사실임을 깨달았습니다. 각 Connection에 대한 콜백을 까다 롭고 기이하게 등록해야합니다.

난이 확인 오라클에서 지원 요청 열지

공백 registerTimeToLiveConnectionTimeoutCallback (TimeToLiveConnectionTimeoutCallback CBK)이 java.sql.SQLException의

발생은 타임 투 라이브 연결을 등록

연결을 통한 콜백 시간 초과.

콜백 객체는 각각 풀링 된 연결로 등록됩니다. 을 하나 이상의 TimeToLiveConnectionTimeoutCallbacks 같은 연결에 등록하지 않으면 오류가 발생합니다. 그렇지 않으면 예외가 발생합니다.

앞서 언급 한 것처럼 콜백 개체는 각 풀링 된 연결로 등록됩니다.

인해 다른 버그 및/또는 설계 결함에 (물론, 후자는 주관적 일 수 있음) 나는 내 프로젝트 내에서 UCP를하지하기로 결정했다.

관련 문제