2011-06-12 5 views
2

jdbc 연결을 처리하기 위해 c3p0과 dbcp에 대해 읽었으며 많은 문제와 사람들이 dbcp가 죽었으나 c3p0이 jdbc4를 수행 할 수 없다는 것을 알게되었습니다. 하지만이 게시물이 시대에 뒤진 지 여부는 알 수 없습니다.c3p0 또는 dbcp 또는 BoneCP가 깨진 연결을 처리 할 수 ​​있습니다.

이제 연결이 끊어진 연결 방법을 설명하는 BoneCP를 누르십시오. here. 연결이 랩되고 BoneCP는 애플리케이션에 전달되기 전에 예외를 사전 검사합니다. 연결에 문제가 있다면 BoneCP는 그것을 풀에서 제거합니다.

1) 1. 모든 풀에 그런 종류의 연결 처리가 있습니까?

2.)이 질문은 반복해서 물어 보지만 2011 년부터 답을 찾을 수 없었습니다. 새로운 신청서에는 무엇을 사용해야하며 그 이상은 10 년 동안 유지됩니다. .

+0

응용 프로그램 서버에서 제공하는 풀 구현을 사용하지 않는 이유가 있습니까? 애플리케이션 서버에 애플리케이션 서버가 없습니까? –

+2

웹 응용 프로그램이 아닙니다. 이러한 것들은 여전히 ​​존재합니다 :-) 매우 멀티 스레드가 가능하고 데이터베이스에 무작위로 접근 할 수있는 소프트웨어입니다. 이미 데이터베이스에 동시에 액세스 할 수있는 좋은 요소가 있다면 휠을 재발 명하고 싶지는 않습니다. –

+2

이 [질문] (http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-library-choice-in-2011)에서 답을 찾을 수 있습니다. –

답변

2

1) 나는 dbcp에 대해 모르지만 C3P0PooledConnection 클래스에는 C3P0PooledConnection 클래스에이 기능이 존재합니다 (정확한 처리에 대한 자세한 내용은 예외가 catch되고 처리됩니다.) 나는 그들을 추가 할 수있다). 또한 testOnCheckin/Checkout을 삭제했는지 여부를 알 필요가 있으며이 동작이 포함되어 있는지 확인했습니다.

2) C3P0이 많은 생산 현장에서 널리 사용되고 유지 보수자가 적극적인 개발을 재개했기 때문에 말하기가 정말로 어렵지만 다른 한편으로는 BoneCP는 몇 가지 매우 흥미로운 디자인 원리 (예) 및 아첨 벤치 마크. 일반적으로 연결 풀 라이브러리 (대부분 의존성은 설정 파일 또는 두 가지 파일에 포함되어 있습니다)로부터 꽤 좋은 간접 참조가 있기 때문에 하나부터 시작하여 실제 데이터가있는 프로덕션을 가지고 나면이를 최적화하고 비교하려고 시도합니다 또 다른 라이브러리 (물론 최적화 된 라이브러리). 어느 도서관을 선택 하든지 귀하의 필요에 충분할 수 있습니다.