JDK-8195788 : Remove obsolete javafx.jmx module
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: other
  • Affected Version: 10,openjfx11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-01-19
  • Updated: 2018-06-13
  • Resolved: 2018-03-12
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
openjfx11Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Relates :  
Description
As of JDK 9 we no longer distribute the obsolete JavaFX JMX classes (see the comments in JDK-8131887). These classes were formerly distributed in JDK 8 as javafx-mx.jar.

The sources for the obsolete javafx.jmx module, along with build logic to build it for developer builds, is still in the source repository, but is not maintained. We should remove this to avoid any technical debt associated with this old code.

As an example of one issue that is partially related to this, see: JDK-8195669
Comments
Changeset: 69f6ef371e61 Author: kcr Date: 2018-03-12 08:27 -0700 URL: http://hg.openjdk.java.net/openjfx/jfx-dev/rt/rev/69f6ef371e61 8195788: Remove obsolete javafx.jmx module Reviewed-by: aghaisas, prr
12-03-2018

Looks good. +1.
11-03-2018

Looks fine to me. +1 -phil
09-03-2018

1. fixed (there was a bug logged already, so I changed the comment to refer to it) 3. fixed http://cr.openjdk.java.net/~kcr/8195788/webrev.01/ Delta between .00 and .01 for those who already reviewed the .00 version: http://cr.openjdk.java.net/~kcr/8195788/delta-webrev.00-01/
09-03-2018

(1) You have added a FIXME in build.gradle. It is better to have a bug logged to address it later. (2) I imported your patch and built. Build was successful. (3) When greped recursively for "jmx" - found few occurrences that can be removed. a) tools/scripts/fix_patch_8_9 b) tools/scripts/fix_patch_9_8
09-03-2018

Webrev: http://cr.openjdk.java.net/~kcr/8195788/webrev.00/ This patch does the following: 1. Removes the javafx.jmx module: 'hg rm modules/javafx.jmx' along with the few references (build.gradle, etc.) 2. Removes the com.sun.javafx.jmx package from javafx.graphics: 'hg rm modules/javafx.graphics/src/main/java/com/sun/javafx/jmx' 3. Removes all references to the com.sun.javafx.jmx classes and related methods (e.g., the getScenePulseListener and setPaused methods in Scene and the getMXWindowTypeImpl method in Stage) 4. Removes the obsolete SystemProperties class (the only remaining use was the javafx.debug flag, which is unused after removing all of the dead JMX code). 5. Removed the netbeans/jmx NB project
05-03-2018

No, this is unique to javafx.jmx. As was discussed first all the way back in the JDK 8 time frame (when we open sourced it), and then again in the JDK 9 time frame, the JMX module is unsupported and incomplete. We removed it from the JDK in JDK 9, and now propose to remove it from the repo. Conversely, javafx.swt is shipped with both the JDK and JRE, and is being used by applications.
05-03-2018

Is javafx.swt in the same boat? It's not a proper module either.
03-03-2018

I think the scope of this JBS issue should be expanded to also remove the implementation classes in javafx.graphics module, which are part of the runtime but not active (activation would require the presence of the non-shipping classes in the javafx.jmx module, in addition to the 'javafx.debug' system property being set to true). This still doesn't warrant a CSR, and probably doesn't need a release note.
19-01-2018

Note that since this is just removing dead code, and doesn't change any distributed build artifacts, we do not need a CSR nor a release note.
19-01-2018