Jigsaw EA feedback for elasticsearch

Robert Muir rcmuir at gmail.com
Fri Sep 11 20:58:58 UTC 2015


On Fri, Sep 11, 2015 at 6:09 AM, Alan Bateman <Alan.Bateman at oracle.com> wrote:
>
> I'm not sure that I understand the issue here but just to say that the
> com.sun.management API is a documented/supported API and it exported by
> module jdk.management:
>
> $ java -listmods:jdk.management
>
> jdk.management at 9.0
>   requires public java.management
>   requires mandated java.base
>   exports com.sun.management
>   conceals com.sun.management.internal
>   provides sun.management.spi.PlatformMBeanProvider with
> com.sun.management.internal.PlatformMBeanProviderImpl
>

Here is code that fails:

import java.lang.reflect.*;
import java.lang.management.*;

public class test {
  public static void main(String args[]) throws Exception {
    OperatingSystemMXBean osMxBean =
ManagementFactory.getOperatingSystemMXBean();
    Method getTotalPhysicalMemorySize =
osMxBean.getClass().getMethod("getTotalPhysicalMemorySize");
    getTotalPhysicalMemorySize.setAccessible(true);
    System.out.println(getTotalPhysicalMemorySize.invoke(osMxBean));
  }
}

Exception in thread "main"
java.lang.reflect.InaccessibleObjectException: Unable to make member
of class com.sun.management.internal.OperatingSystemImpl accessible:
module jdk.management does not export com.sun.management.internal to
<unnamed module @5f375618>
    at sun.reflect.Reflection.throwInaccessibleObjectException(java.base at 9.0/Reflection.java:462)
    at java.lang.reflect.AccessibleObject.checkCanSetAccessible(java.base at 9.0/AccessibleObject.java:194)
    at java.lang.reflect.AccessibleObject.setAccessible(java.base at 9.0/AccessibleObject.java:157)
    at test.main(test.java:8)


More information about the jigsaw-dev mailing list