Skip to content

Commit c4e6431

Browse files
Handle different disruptor versions
1 parent 414419f commit c4e6431

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfigTest.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package org.apache.logging.log4j.core.async;
1818

19+
import static org.assertj.core.api.Assertions.fail;
1920
import static org.hamcrest.MatcherAssert.assertThat;
2021
import static org.junit.jupiter.api.Assertions.assertEquals;
2122
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -78,11 +79,25 @@ void testIncorrectWaitStrategyFallsBackToDefault(
7879
(AsyncLoggerConfig) ((org.apache.logging.log4j.core.Logger) logger).get();
7980
final AsyncLoggerConfigDisruptor delegate =
8081
(AsyncLoggerConfigDisruptor) loggerConfig.getAsyncLoggerConfigDelegate();
81-
assertEquals(
82-
TimeoutBlockingWaitStrategy.class, delegate.getWaitStrategy().getClass());
83-
assertThat(
84-
"waitstrategy is TimeoutBlockingWaitStrategy",
85-
delegate.getWaitStrategy() instanceof TimeoutBlockingWaitStrategy);
82+
83+
if (DisruptorUtil.DISRUPTOR_MAJOR_VERSION == 3) {
84+
assertEquals(
85+
org.apache.logging.log4j.core.async.TimeoutBlockingWaitStrategy.class,
86+
delegate.getWaitStrategy().getClass());
87+
assertThat(
88+
"waitstrategy is TimeoutBlockingWaitStrategy",
89+
delegate.getWaitStrategy()
90+
instanceof org.apache.logging.log4j.core.async.TimeoutBlockingWaitStrategy);
91+
} else if (DisruptorUtil.DISRUPTOR_MAJOR_VERSION == 4) {
92+
assertEquals(
93+
com.lmax.disruptor.TimeoutBlockingWaitStrategy.class,
94+
delegate.getWaitStrategy().getClass());
95+
assertThat(
96+
"waitstrategy is TimeoutBlockingWaitStrategy",
97+
delegate.getWaitStrategy() instanceof com.lmax.disruptor.TimeoutBlockingWaitStrategy);
98+
} else {
99+
fail("Unhandled Disruptor version " + DisruptorUtil.DISRUPTOR_MAJOR_VERSION);
100+
}
86101
}
87102

88103
public static class YieldingWaitStrategyFactory implements AsyncWaitStrategyFactory {

0 commit comments

Comments
 (0)