programing

DBCP 연결 풀 로그인 시간 초과

mailnote 2023. 10. 8. 10:17
반응형

DBCP 연결 풀 로그인 시간 초과

DBCP 문서에 따르면 BasicDataSource는 setLoginTimeout()을 지원하지 않습니다.그러면 Connection 개체를 만들기 위해 LoginTimeout을 설정하는 방법은 무엇입니까?풀에서 maxWait을 설정할 수 있다는 것은 알고 있지만 풀이 소진되고 기존 연결이 해제되기를 기다리는 경우에만 사용될 것으로 알고 있습니다.새 연결을 만들어야 하는 상황에서 저를 구해주지는 못하지만 DB에 대한 연결/로그인은 중단됩니다.

어떤 도움이든 감사히 받겠습니다.감사해요.

URL에 올바른 매개 변수를 추가하는 옵션은 항상 있습니다. 사용하는 DB에 따라 JDBC url의 매개 변수 중 하나를 추가할 수 있습니다.

BasicDataSource가 loginTimeout을 지원하지 않음을 확인하는 링크입니다.

그리고블로그 하단에는 접속 제한 시간에 대한 URL 파라미터를 나열한 표가 있습니다.

@Sap이 맞습니다. JDBC url을 사용하여 다음과 같은 연결 속성을 추가할 수 있습니다.

basicDataSource.setUrl("jdbc:postgresql://192.168.0.100:5432/postgres?connectTimeout=TIME_IN_SECONDS");

어디에TIME_IN_SECONDS모든 정수 값이 될 수 있습니다.

또한 BasicDataSource#setConnectionProperties를 사용할 수 있습니다.매개변수에 따라 다음과 같이 표시됩니다.

새 연결을 설정할 때 JDBC 드라이버로 보낼 연결 속성.문자열의 형식은 [propertyName= property;]* 참고 - "user" 및 "password" 속성은 명시적으로 전달되므로 여기에 포함할 필요가 없습니다.

따라서 (그리고 이전 예를 따르는) 다음과 같은 것이 될 수 있습니다.

basicDataSource.setUrl("jdbc:postgresql://192.168.0.100:5432/postgres");
basicDataSource.setConnectionProperties("connectTimeout=TIME_IN_SECONDS");

추신:

다음을 사용하여 속성을 추가할 수 있습니다.;재산의 끝자락에

언급URL : https://stackoverflow.com/questions/11306896/dbcp-connection-pool-logintimeout

반응형