我正在使用Spring BOOT应用程序,该应用程序将信息存储在DB中。我收到错误消息:
org.springframework.transaction.CannotCreateTransactionException:无法打开JPA EntityManager进行交易
我尝试在INTERNET上搜索,但找不到任何答案。当我重新启动jar时,它可以正常工作-不会出现错误。这每天都会发生,我必须每天重新启动jar。
例外: org.springframework.transaction.CannotCreateTransactionException:无法打开JPA EntityManager进行事务;嵌套的异常是javax.persistence.PersistenceException:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:成功从服务器成功接收到的最后一个数据包是44,382,666毫秒之前。成功发送到服务器的最后一个数据包是44,382,666毫秒之前。大于服务器配置的“ wait_timeout”值。为避免出现此问题,应考虑在应用程序中使用连接之前使其过期和/或对其进行测试,或者增加服务器为客户端超时配置的值,或者使用Connector / J连接属性'autoReconnect = true'。
计划每天运行一次,每十分钟一次。
我已尝试缩短时间段-计划在特定时间运行,但仍然没有成功。
还尝试在数据库url中提供端口号的情况下使用autoReconnect = true。
答案 0 :(得分:0)
spring.datasource.testOnBorrow=true
spring.datasource.testWhileIdle = true
spring.datasource.timeBetweenEvictionRunsMillis = 3600000
spring.datasource.validationQuery=SELECT 1