sql >> データベース >  >> RDS >> Mysql

最初のログイン:HTTPステータス500-リクエストの処理に失敗しました。ネストされた例外はorg.springframework.transaction.CannotCreateTransactionExceptionです

    MySQLまたはファイアウォールが、jdbc接続プールで長期間ぶら下がっている非アクティブな接続を切断しているようです:

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 
    The last packet successfully received from the server was 4,665,488 milliseconds ago.
    

    wait_timeout の値を確認してください MySQLで。

    DBCP設定 を試してみることができます 例えばvalidateQuery、testOnBorrow、testWhileIdle。

    「ベルトとブレース」であり、パフォーマンスを犠牲にして問題を解決する可能性のある構成は次のとおりです。

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="${jdbc.driverClassName}"/>
      <property name="url" value="${jdbc.url}"/>
      <property name="username" value="${jdbc.username}"/>
      <property name="password" value="${jdbc.password}"/>
      <property name="validationQuery" value="SELECT 1"/>
      <property name="testOnBorrow" value="true"/>
    </bean>
    

    上記は、プールから借りるたびに接続をテストします。




    1. 同じフィールド名のMYSQL行を選択し、プレフィックスを追加する

    2. タイムゾーンを別のタイムゾーンに変換する

    3. トランザクションのテーブルからのDELETE後のINSERTの重複エントリ

    4. OracleデータベースのNLSパラメータのリスト