2017-11-14 25 views
0

問題:私のSpringアプリケーションが動作しているときに、データベースサーバが停止/再起動されたときにdb接続が失われ、が返されることはありませんSpringでDataSource接続を自動的に再接続する方法は?

  • クエリが実行します:例外:OK
  • サービスmysqlの停止
  • がクエリを実行し、次のように

    は、私がテストした

    取引のためのJPA EntityManagerを開くことができませんでした。ネストされた例外は、javax.persistence.PersistenceExceptionです。

    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:接続が閉じられた後で操作は許可されません。

  • サービスmysql start

  • 実行クエリ:まだ例外です!

質問:接続が失われた後、春DataSourceに自動的に再接続するように指示するにはどうすればよいですか?

は、これは私の設定です:

spring.datasource.url=jdbc:mysql://localhost/tablename?useSSL=false 
spring.datasource.username=root 
spring.datasource.password=rootpw 
spring.datasource.driver-class-name=com.mysql.jdbc.Driver 
spring.datasource.tomcat.validation-query=SELECT 1 
spring.datasource.tomcat.validation-query-timeout=5000 
spring.datasource.tomcat.test-on-borrow=true 
spring.datasource.tomcat.test-on-connect=true 

答えて

0

私の悪い、私は設定ミスがありました。上記の設定は、自動再接続に必要なすべてです。

関連する問題