ACTIVEMQ6-37 NoSuchMethodError during init When compiled by JDK 8 targeting Java 6 and then run on JDK 6 or 7 the ConcurrentHashMap#keyset() method can fail because the return types changed in Java 8. Using ConcurrentMap interface to resolve the issue.
Project: http://git-wip-us.apache.org/repos/asf/activemq-6/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq-6/commit/8fcf81f5 Tree: http://git-wip-us.apache.org/repos/asf/activemq-6/tree/8fcf81f5 Diff: http://git-wip-us.apache.org/repos/asf/activemq-6/diff/8fcf81f5 Branch: refs/heads/master Commit: 8fcf81f5f7a59478a67d9a042c9456bffef58ca6 Parents: 36d86ff Author: jbertram <jbert...@redhat.com> Authored: Mon Nov 17 13:44:53 2014 -0600 Committer: jbertram <jbert...@redhat.com> Committed: Mon Nov 17 13:45:39 2014 -0600 ---------------------------------------------------------------------- .../activemq/core/server/group/impl/LocalGroupingHandler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq-6/blob/8fcf81f5/activemq-server/src/main/java/org/apache/activemq/core/server/group/impl/LocalGroupingHandler.java ---------------------------------------------------------------------- diff --git a/activemq-server/src/main/java/org/apache/activemq/core/server/group/impl/LocalGroupingHandler.java b/activemq-server/src/main/java/org/apache/activemq/core/server/group/impl/LocalGroupingHandler.java index dcc2944..1e62b03 100644 --- a/activemq-server/src/main/java/org/apache/activemq/core/server/group/impl/LocalGroupingHandler.java +++ b/activemq-server/src/main/java/org/apache/activemq/core/server/group/impl/LocalGroupingHandler.java @@ -16,6 +16,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; +import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; @@ -43,9 +44,9 @@ import org.apache.activemq.utils.TypedProperties; */ public final class LocalGroupingHandler extends GroupHandlingAbstract { - private final ConcurrentHashMap<SimpleString, GroupBinding> map = new ConcurrentHashMap<SimpleString, GroupBinding>(); + private final ConcurrentMap<SimpleString, GroupBinding> map = new ConcurrentHashMap<SimpleString, GroupBinding>(); - private final ConcurrentHashMap<SimpleString, List<GroupBinding>> groupMap = new ConcurrentHashMap<SimpleString, List<GroupBinding>>(); + private final ConcurrentMap<SimpleString, List<GroupBinding>> groupMap = new ConcurrentHashMap<SimpleString, List<GroupBinding>>(); private final SimpleString name;