2012-02-09 7 views
1
私は3.6.7を休止状態、春3.0.5使用しています

、Atomikos TransactionEssentials 3.7.0とMySQL 5.5履歴書が発生0:不明

私は最近、問題に直面している、8時間後に私のConnectionPoolのTIMEDOUT内の接続サーバーによってリセットされ、「XIDの再開」というメッセージが表示されました。 0を提起した:私はオプション自動再=真のみconfigurabe Iで2秒(の遅延の後に私の障害の発生した接続を再接続することが判明調査していたとして

<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を再起動しても...

結果:これ以上の例外とエラーはありません!