我正在使用一个遗留模块的复杂部分,其中Java进程正在维护多个表。它使用简单的JDBC&用Oracle编写的语句。我们注意到此过程经常出现连接重置异常。任何人都可以建议我们如何实现重试逻辑,以便在重置时重新建立连接。也可以通过configeration来完成,所以我们不需要触及遗留代码吗?
答案 0 :(得分:1)
当连接池未正确验证时会发生这种情况。
建议在使用前从连接池借用连接之前进行测试。
这是我典型的Spring配置,请适应您的旧版Java应用程序:
spring.datasource.tomcat:
validation-query: SELECT 1 // test query
test-on-borrow: true // should test before borrowing from pool
validation-interval: 30000 // Validation interval, reduce number of tests