You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ro...@apache.org on 2022/10/28 10:18:35 UTC
[activemq-artemis] 02/03: ARTEMIS-4076: handle EventLoop becoming AutoClosable via ExecutorService parent on Java 19, and default method impl causing AllClassesTest to infinite loop
This is an automated email from the ASF dual-hosted git repository.
robbie pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
commit 3a55ac72e5d31ff3ce0546904e1afec5e6503675
Author: Robbie Gemmell <ro...@apache.org>
AuthorDate: Thu Oct 27 11:54:49 2022 +0100
ARTEMIS-4076: handle EventLoop becoming AutoClosable via ExecutorService parent on Java 19, and default method impl causing AllClassesTest to infinite loop
Adds a timeout to the test to prevent similar future issues.
---
.../protocol/amqp/proton/handler/ExecutorNettyAdapter.java | 9 +++++++--
.../org/apache/activemq/artemis/tests/unit/AllClassesTest.java | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ExecutorNettyAdapter.java b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ExecutorNettyAdapter.java
index 9d0f09eb8a..31b10c209b 100644
--- a/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ExecutorNettyAdapter.java
+++ b/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/proton/handler/ExecutorNettyAdapter.java
@@ -40,7 +40,7 @@ import org.apache.activemq.artemis.utils.actors.ArtemisExecutor;
* TODO: This could be refactored out of the main codebase but at a high cost.
* We may do it some day if we find an easy way that won't clutter the code too much.
* */
-public class ExecutorNettyAdapter implements EventLoop {
+public class ExecutorNettyAdapter implements EventLoop, AutoCloseable {
final ArtemisExecutor executor;
@@ -187,7 +187,7 @@ public class ExecutorNettyAdapter implements EventLoop {
@Override
public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException {
- return false;
+ return true;
}
@Override
@@ -218,4 +218,9 @@ public class ExecutorNettyAdapter implements EventLoop {
public void execute(Runnable command) {
executor.execute(command);
}
+
+ @Override
+ public void close() {
+ // noop
+ }
}
diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/AllClassesTest.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/AllClassesTest.java
index 7f382650d9..649c953af2 100644
--- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/AllClassesTest.java
+++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/AllClassesTest.java
@@ -80,7 +80,7 @@ public class AllClassesTest {
}
- @Test
+ @Test(timeout = 3000)
public void testToString() {
Object targetInstance = null;