mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Valera V.Harseko
19.01.2020 8d4a14b55a8f1b68a4a13c6b4920e3c267b130a8
Merge branch 'master' of https://github.com/OpenIdentityPlatform/OpenDJ.git
2 files modified
35 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java 34 ●●●●● patch | view | raw | blame | history
pom.xml 1 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeImporter.java
@@ -2955,18 +2955,28 @@
      {
        Method tmpDirectBufferCleanerMethod = null;
        Method tmpDirectBufferCleanerCleanMethod = null;
        boolean tmpCleanSupported;
        try
        {
          tmpDirectBufferCleanerMethod = Class.forName("java.nio.DirectByteBuffer").getMethod("cleaner");
          tmpDirectBufferCleanerMethod.setAccessible(true);
          tmpDirectBufferCleanerCleanMethod = Class.forName("sun.misc.Cleaner").getMethod("clean");
          tmpDirectBufferCleanerCleanMethod.setAccessible(true);
          tmpCleanSupported = true;
        }
        catch (Exception e)
        {
          tmpCleanSupported = false;
        boolean tmpCleanSupported = false;
        //
        // We know that this will fail in Java 9+ since sun.misc.Cleaner was moved to jdk.internal.ref.Cleaner (see JDK-8148117)
        // Also in Java9+, calling 'setAccessible(true)' to Java internal classes generates warnings:
        // * WARNING: An illegal reflective access operation has occurred
        // * WARNING: All illegal access operations will be denied in a future release
        // unless the JVM is started with the 'add-opens=java.base/java.nio=ALL-UNNAMED' flag
        // Since this is only an optimization, avoid it completely in Java 9+
        //
        if (System.getProperty("java.version").startsWith("1.")) {
          try
          {
            tmpDirectBufferCleanerMethod = Class.forName("java.nio.DirectByteBuffer").getMethod("cleaner");
            tmpDirectBufferCleanerMethod.setAccessible(true);
            tmpDirectBufferCleanerCleanMethod = Class.forName("sun.misc.Cleaner").getMethod("clean");
            tmpDirectBufferCleanerCleanMethod.setAccessible(true);
            tmpCleanSupported = true;
          }
          catch (Exception e)
          {
            tmpCleanSupported = false;
          }
        }
        CLEAN_SUPPORTED = tmpCleanSupported;
        directBufferCleanerMethod = tmpDirectBufferCleanerMethod;
pom.xml
@@ -32,6 +32,7 @@
        <product.name>OpenDJ</product.name>
        <product.name.lowercase>opendj</product.name.lowercase>
        <product.locales>ca_ES,es,de,fr,ja,ko,pl,zh_CN,zh_TW</product.locales>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <localized.jars.classifier>i18n</localized.jars.classifier>
        <freemarker.version>2.3.28</freemarker.version>
        <grizzly-framework.version>2.4.4</grizzly-framework.version>