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