A broken setAccessible use case: enhanced diagnostics

Jochen Theodorou blackdrag at gmx.org
Thu Jan 26 19:56:29 UTC 2017

On 26.01.2017 13:34, Russell Gold wrote:
> The Glassfish Primitive Function Library (PFL) contains an
> interesting use case for setAccessible: an enhanced object-to-string
> capability. Now, in an ideal world, this shouldn’t be needed, as each
> object provides an adequate toString() method; however, it is not
> uncommon while trying to diagnose a problem, to need to see the
> actual state of objects, as represented by their fields, as the
> toString() function often doesn’t show everything. This is especially
> important to diagnose problems in production, where one could ask a
> customer to enable a debug flag. Until now, this was restricted only
> by the security manager. What can we do to keep such a capability in
> JDK9?

you have to declare all the module and the packages you want to access 
as open. On the command line this is done by using --add-opens. For 
example --add-opens java.base to open all classes in the java.base 
module. At runtime you have to use the Module and Layer APIs to realize 

bye Jochen

More information about the jigsaw-dev mailing list