-
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