java - 冲刺重试:org.hibernate.exception.JDBCConnectionException
问题描述
在重负载期间,我们一直面临应用程序与数据库通信的问题,并且间歇性地我们开始收到引发异常的超时错误:org.hibernate.exception.JDBCConnectionException
对于可恢复的异常,我们已经成功使用 Spring JDBCretry 来解决此类问题。现在我们想将此扩展org.hibernate.exception.JDBCConnectionException
为不可恢复的异常,而 Spring JDBCRetry 仅适用于可恢复的异常。
关于如何重试此异常的任何建议。
以下是我们对可恢复异常的实现:
<bean id="dsRetryTemplate" class="org.springframework.retry.support.RetryTemplate">
<property name="retryPolicy" ref="dsRetryPolicy"/>
<property name="backOffPolicy" ref="dsBackOffPolicy"/>
<property name="listeners" ref="dsRetryListeners"/>
</bean>
<bean id="dsRetryPolicy" class="org.springframework.data.jdbc.retry.JdbcRetryPolicy"
p:maxNumberOfRetries="${datasource.retry.maxNumberOfRetries:5}">
<property name="recoverableErrorCodes">
<array>
<value>17002</value>
<value>12516</value>
<value>12518</value>
</array>
</property>
</bean>
<bean id="dsBackOffPolicy" class="org.springframework.retry.backoff.ExponentialBackOffPolicy"
p:initialInterval="${aws.task.retry.initialInterval:2000}"/>
解决方案
推荐阅读
- flutter - Flutter 应用在 Google Play 上发布时的 TrustManager 漏洞
- node.js - reactjs / webpack错误无法解析napi模块
- debian - Google Coral - 离线更新操作系统
- r - 如何解决 ggplot2 错误“FUN 中的错误(X[[i]],...):找不到对象'melanoma.hx'”
- c# - 使用 Vue 和 ASP.NET Core DTO 模型的 JSON Oject 的 JSON 序列化问题
- javascript - 如何让我的函数处理多个字符串数组?
- javascript - 通过提供的对象在 Javascript 数组中查找对象的索引
- android - Arduino Nano 33 BLE 是否可以使用自定义有效负载进行广告宣传?
- apache-kafka - 有没有办法将变压器添加到 Kafka Strimzi MirrorMaker2?
- r - 通过 R 脚本执行 R 文件