-
Bug
-
Resolution: Done
-
Major
-
5.1.6.FINAL
-
None
-
None
The implementation in ConcurrentMapFactory checks for existance of a Sun JVM private class. But although a Sun JDK/JRE 6 is used, the check fails (wrong class com.sun.unsafe.Unsafe instead of sun.misc.Unsafe).
Sould use sun.misc.Unsafe
static {
boolean sunIncompatibleJvm;
boolean jdk8;
boolean allowExperimentalMap = Boolean.getBoolean("infinispan.unsafe.allow_jdk8_chm");
try {
Class.forName("com.sun.unsafe.Unsafe");
sunIncompatibleJvm = false;
} catch (ClassNotFoundException e) {
sunIncompatibleJvm = true;
}
try {
Class.forName("java.util.concurrent.atomic.LongAdder");
jdk8 = true;
} catch (ClassNotFoundException e) {
jdk8 = false;
}
if (jdk8 || sunIncompatibleJvm || !allowExperimentalMap)
MAP_CREATOR = new JdkConcurrentMapCreator();
else
MAP_CREATOR = new BackportedV8ConcurrentMapCreator();
}
- is related to
-
ISPN-1889 Use a ConcurrentMapFactory abstraction when constructing concurrent maps
-
- Closed
-