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;
 

Reply via email to