При использовании org.springframework.retry.annotation.CircuitBreaker
и org.springframework.retry.annotation.Recover
для обработки отката.Схема правильно открывается и закрывается, когда мы тестируем реализацию с одной транзакцией.
Однако, когда нагрузка транзакции высока.Открытая цепь не закрывается.Он остается открытым для всей обработки нагрузки.Ниже наша реализация.
@CircuitBreaker(value=RedisConnectionFailureException.class, maxAttempts=1)
public String getDataFromRedisCache(String dataKey) {
// get data from cache
}
@Recover
public String fallbackToDb(RedisConnectionFailureException rcfe, String dataKey) {
// fetch from Db
}