我使用 Java 和 SpringFramework 在 Mysql Server 上使用 JdbcTemplate 类进行数据库编程。
用作dborg.apache.commons.dbcp.BasicDataSource
数据源。
有时当连接长时间空闲时,CommunicationException
会抛出以下消息:
The last packet successfully received from the server was XXXXX milliseconds ago.
我不想通过将 autoReconnect 参数添加到连接或添加将select 1
在每个查询之前执行以确保正确打开连接的属性来处理此问题。我也不想触及 mysql 服务器的配置并提高超时值。
我想做的是正确处理该异常。
我考虑过捕获CommunicationException
并重试直到成功,如果失败超过 X 次,则抛出异常,表明重试 X 次失败。
- 有没有人知道如何处理这个问题?
- 我的想法怎么样?:)
- 也许springframework中有一些东西会自动为我做这件事而我错过了?
任何信息将不胜感激。
谢谢!