문제

내가 바람둥이 인스턴스에는 설치 하지만 데이터베이스 연결 구성에서 context.xml 죽어가는 계속 기간 후지 않습니다.

면 내가 로그를 확인에 나는 다음과 같은 오류가:

com.mysql.jdbc.예외가 있습니다.jdbc4.CommunicationsException:마지막 패킷을 성공적으로 서버에서 받은 초 was68051 전입니다.마지막 패킷을 전송 성공적으로 서버에 있었 68051 초 전는 이상 서버의 구성 값 'wait_timeout'.고려해야 할 중 하나 만료 및/또 테스트 연결의 유효기 전에 응용 프로그램에서 사용할 증가 서버 구성된 값은 클라이언트 시간 제한하거나 사용하는 커넥터/J 연결 속'autoReconnect=true'이 문제를 방지 할 수 있습니다.

여기에서 구성 context.xml:

<Resource name="dataSourceName" 
        auth="Container" 
        type="javax.sql.DataSource"
        maxActive="100" 
        maxIdle="30" 
        maxWait="10000" 
        username="username" 
        password="********"
        removeAbandoned = "true"
        logAbandoned = "true"
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&amp;useEncoding=true&amp;characterEncoding=UTF-8"  />

내가 사용하고 autoReconnect=true 같은 오류가 표시를 할,하지만 연결을 유지 죽어가고 있다.나는 본 적이 없는 일이다.

나는가도 확인하는 모든 데이터베이스 연결이 닫히고 있다.

도움이 되었습니까?

해결책

Tomcat 문서

DBCP 사용하여 자카르타-공 데이터베이스 연결을 수 있습니다.그것은에 의존하수 자카르타 공용 구성 요소:

* Jakarta-Commons DBCP
* Jakarta-Commons Collections
* Jakarta-Commons Pool

이 특성은 당신을 도울 수 있습니다.

removeAbandonedTimeout="60"

내가 사용하여 동일한 연결을 풀링을 물고 나는 이러한 속성을 설정하는 같은 일을 방지하기 그것은 단지 구성을 통해 tomcat.하지만 경우에는 먼저 작동하지 않을 시도한다.

testWhileIdle=true
timeBetweenEvictionRunsMillis=300000

다른 팁

그냥 무엇인지 명확하게 실제로 되었습니다.MySQL 과 기본적으로 종료 열린 연결 후 8 시간의 활동.그러나 데이터베이스 연결에 수영장을 유지에 대한 연결 이상입니다.

도록 설정하여 timeBetweenEvictionRunsMillis=300000 당신이 지시 연결이 수영장 등을 통해 실행하는 연결을 제거하고 가까운 유휴 상태는 사람마다 5 분.

이 removeAbandoned 옵션은 사용되지 않으로의 DBCP1.2(도 여전히 존재하는 에서 1.3 지점). 's 비 공식적인 설명이 있습니다.

지 모르겠어 위의 대답을 기본적으로 같은 일을,하지만 일부 시스템을 사용하여 DB 연결에 대한 일주일에 한 번 봤어요 우리가 제공하는 a-Otimeout 깃발의 종류를 mysql 연결을 설정한다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top