RFR(M): JDK-8141070 vm/services/management.cpp should be resilient to missing 'jdk.management' module

Dmitry Samersoff dmitry.samersoff at oracle.com
Wed Jan 13 18:45:47 UTC 2016


Everybody,

Please, review the fix:

http://cr.openjdk.java.net/~dsamersoff/JDK-8141070/webrev.01/

The problem:

  Code in management.cpp throw NoClassDefFound exception if any of
requested classes is missing.

 But, in upcoming modular JDK classes that not belong to
java.lang.management (sun.management, com.sun.management etc) might not
be present.

Solution:

 Refactor class resolving code to support two type of classes - REQUIRED
(still throw NCDFE if the class is missing) and OPTIONAL (just return
NULL).

  I introduced a new parameter to highlight the fact that a class is an
optional one on caller side rather than handle it silently inside
management.cpp.

-Dmitry

-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the serviceability-dev mailing list