@@ -39,6 +39,7 @@ public class ListenersTest {
39
39
Waiter waiter ;
40
40
41
41
// RetryPolicy listener counters
42
+ ListenerCounter rpHandle = new ListenerCounter ();
42
43
ListenerCounter rpAbort = new ListenerCounter ();
43
44
ListenerCounter rpFailedAttempt = new ListenerCounter ();
44
45
ListenerCounter rpRetriesExceeded = new ListenerCounter ();
@@ -54,6 +55,7 @@ public class ListenersTest {
54
55
ListenerCounter cbFailure = new ListenerCounter ();
55
56
56
57
// Fallback listener counters
58
+ ListenerCounter fbFailedAttempt = new ListenerCounter ();
57
59
ListenerCounter fbSuccess = new ListenerCounter ();
58
60
ListenerCounter fbFailure = new ListenerCounter ();
59
61
@@ -99,6 +101,7 @@ void beforeMethod() {
99
101
cbSuccess .reset ();
100
102
cbFailure .reset ();
101
103
104
+ fbFailedAttempt .reset ();
102
105
fbSuccess .reset ();
103
106
fbFailure .reset ();
104
107
@@ -127,6 +130,7 @@ private <T> FailsafeExecutor<T> registerListeners(RetryPolicy<T> retryPolicy, Ci
127
130
circuitBreaker .onFailure (e -> cbFailure .record ());
128
131
129
132
if (fallback != null ) {
133
+ fallback .onFailedAttempt (e -> fbFailedAttempt .record ());
130
134
fallback .onSuccess (e -> fbSuccess .record ());
131
135
fallback .onFailure (e -> fbFailure .record ());
132
136
}
@@ -173,6 +177,7 @@ private void assertForSuccess(boolean sync) throws Throwable {
173
177
cbSuccess .assertEquals (1 );
174
178
cbFailure .assertEquals (4 );
175
179
180
+ fbFailedAttempt .assertEquals (0 );
176
181
fbSuccess .assertEquals (1 );
177
182
fbFailure .assertEquals (0 );
178
183
@@ -351,6 +356,7 @@ private void assertForFailingRetryPolicy(boolean sync) throws Throwable {
351
356
cbSuccess .assertEquals (3 );
352
357
cbFailure .assertEquals (0 );
353
358
359
+ fbFailedAttempt .assertEquals (0 );
354
360
fbSuccess .assertEquals (1 );
355
361
fbFailure .assertEquals (0 );
356
362
@@ -392,6 +398,7 @@ private void assertForFailingCircuitBreaker(boolean sync) throws Throwable {
392
398
cbSuccess .assertEquals (0 );
393
399
cbFailure .assertEquals (1 );
394
400
401
+ fbFailedAttempt .assertEquals (0 );
395
402
fbSuccess .assertEquals (1 );
396
403
fbFailure .assertEquals (0 );
397
404
@@ -433,6 +440,7 @@ private void assertForFailingFallback(boolean sync) throws Throwable {
433
440
cbSuccess .assertEquals (1 );
434
441
cbFailure .assertEquals (0 );
435
442
443
+ fbFailedAttempt .assertEquals (1 );
436
444
fbSuccess .assertEquals (0 );
437
445
fbFailure .assertEquals (1 );
438
446
0 commit comments