2016-08-04 4 views
-2

우리는 응용 프로그램에 톰캣 연결 풀을 사용하고 있습니다. 때때로 풀에서 연결을 사용할 수 없다는 사실이 로그에서 관찰됩니다. 응용 프로그램 서버 자체를 중지하지는 않지만 사용자 조치는이 때문에 중단됩니다. 우리는 데이터 소스 :톰캣 연결 풀 문제

<Resource 
    name=XXXXX 
    type=xxxxx 
    username=xxxxx 
    password=xxxxxx 
    driverClassName=xxxxx 
    maxIdle=2 
    url=xxxxx 
    maxActive=10 
/> 

질문에 다음과 같은 매개 변수를 추가 :이 연결 풀은 후 특정 기간과 빈 될 것을 가능 연결이 다시 avaible입니까?

+0

나는 당신이 원하는 것이라고 생각했을 것이다. –

+0

질문에 대한 대답은 "예"이지만, 프로그램의 행동에서 이미 알 수 있듯이 그 대답은 무의미 할 것입니다. –

+0

@Scary minIdle은 initialSize가 기본값 인 10 – ravthiru

답변

0

유휴 연결이 유효성 검사 쿼리를 통과하지 않으면 연결 풀이 0으로 떨어지지 않습니다. 여기서 일어나는 일은 연결 수가 유휴 상태이고 최대 크기가 2가 될 때까지 대기하는 것입니다. 일반적으로 유휴 연결은 발생하는 정확한 문제를 피하기 때문에 좋은 것입니다. 새로운 연결을 열려면 비용이 많이 듭니다.

+0

안녕하세요 존, 귀하의 회신에 감사드립니다. initialSize 및 minIdle 매개 변수를 추가하면 도움이 될 것입니다. – user2647805

+0

연결 풀을 부팅하면 initialSize 연결이 만들어집니다. 더 많은 연결이 동시에 요청되면 maxActive로 증가합니다. 연결이 유휴 상태가되면 maxIdle로 떨어집니다. 일단 유휴 연결이 시간 초과되면 minIdle로 떨어집니다. maxIdle과 minIdle을 모두 올리면 더 오래 유휴 연결이 유지됩니다. initialSize를 높이면 유휴 연결 만들기가 사용자 요구가 아닌 부팅으로 푸시됩니다. minIdle을 initialSize로 설정하면 시작하는 것이 좋습니다. –