Skip to content

Commit

Permalink
add simple balanced error handlers.
Browse files Browse the repository at this point in the history
  • Loading branch information
jpe7s committed Sep 3, 2024
1 parent 63b880f commit 98d2875
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@

public interface BalancedErrorHandler<T> {

static <T> BalancedErrorHandler<T> createFailAllHandler(final ErrorHandler errorHandler) {
return new FailAllBalancedItemErrorHandler<>(errorHandler);
}

static <T> BalancedErrorHandler<T> createFailNoneHandler(final ErrorHandler errorHandler) {
return new FailNoneBalancedItemErrorHandler<>(errorHandler);
}

long onError(final BalancedItem<T> item,
final int errorCount,
final String retryLogContext,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

import java.util.concurrent.TimeUnit;

final class BalancedItemErrorHandler<T> extends RootBalancedErrorHandler<T> {
final class FailAllBalancedItemErrorHandler<T> extends RootBalancedErrorHandler<T> {

BalancedItemErrorHandler(final ErrorHandler errorHandler) {
FailAllBalancedItemErrorHandler(final ErrorHandler errorHandler) {
super(errorHandler);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package software.sava.services.core.remote.call;

import software.sava.services.core.remote.load_balance.BalancedItem;

import java.util.concurrent.TimeUnit;

final class FailNoneBalancedItemErrorHandler<T> extends RootBalancedErrorHandler<T> {

FailNoneBalancedItemErrorHandler(final ErrorHandler errorHandler) {
super(errorHandler);
}

@Override
public long onError(final BalancedItem<T> item,
final int errorCount,
final String retryLogContext,
final RuntimeException exception,
final TimeUnit timeUnit) {
return errorHandler.onError(errorCount, retryLogContext, exception, timeUnit);
}
}

0 comments on commit 98d2875

Please sign in to comment.