2012-02-09 1 views
1
나는 3.6.7 최대 절전 모드, 봄 3.0.5 사용하고

, Atomikos TransactionEssentials 3.7.0와 MySQL 5.5이력서가 발생 0 : 알 수없는

나는 최근에이 문제를 직면하는 8시간 후 내 connectionpool의이 시간 초과에 연결 서버에 의해 재설정되어 "XID에 대한 재개 '??? 상승 0 : 알 수없는 여기

내 데이터 소스 구성입니다 :

내가 autoReconnect는 단 2 초 지연 후 내 고장 난 연결 (참 다시 연결 = 옵션이있는이 configurabe의 I는 것을 발견 조사되면서
<bean id="myDataSource" 
     class="com.atomikos.jdbc.AtomikosDataSourceBean" 
     init-method="init" 
     destroy-method="close" 
     depends-on="myConfigurer"> 
    <property name="uniqueResourceName" value="myPUDataSource" /> 
    <property name="xaDataSourceClassName" value="$CONF{database.XAdriver}" /> 
    <property name="poolSize" value="10" /> 
    <property name="xaProperties"> 
     <props> 
      <prop key="user">$CONF{database.user}</prop> 
      <prop key="password">$CONF{database.password}</prop> 
      <prop key="URL">$CONF{database.url}</prop> 
      <prop key="pinGlobalTxToPhysicalConnection">true</prop> 
      <prop key="autoReconnect">true</prop> 
     </props> 
    </property> 
</bean> 

생각해보십시오.) 웹 검색 MySQL-Server에서 wait_timeout을 늘리라고 제안하는 해결책을 찾았습니다. 실제 해결책이 아닌 것 같아요. 다른 문제가 발생할 수 있으므로 응용 프로그램이 작동하지 않는 연결을 처리하고 자동으로 다시 연결될 수 있어야합니다. 연결 손실도 발생합니다. (그리고 나는 어떤 종류의 지시자라도 서버에 만들고 싶지 않습니다. 응용 프로그램이 사용함).

마침내 나는 이것에 대한 좋은 해결책을 찾았으며, 나는 똑같은 또는 비슷한 문제에 직면하는 사람들을 돕기 위해 답으로 게시 할 것입니다. 라인을 삽입하여

+0

슬픈 일입니다. 나는 다음 8 시간 동안 이것을 대답 할 수 없다. 왜 항상 8 시간입니까? 하루 8 시간, wait_timeout = 8 시간, 대답을 기다릴 때까지 기다리십시오 : 8 시간. 23 또는 42일까요? – AlexS

답변

2

: 데이터 소스의 구성에

<property name="testQuery" value="SELECT 1"/> 

, 연결이 사용하기 전에 테스트가 죽은 경우 다시 연결 보인다. wait_timeout=60으로 시도하고 응용 프로그램이 실행되는 동안 MySQL-Server를 다시 시작한 경우에도 ...

결과 : 더 이상 예외 및 오류!