ACTION - JavaFX modular build is here

Laurent Bourgès bourges.laurent at
Wed Nov 9 14:25:52 UTC 2016

Kevin & David,

It seems tricky to add a module dependency !

2016-11-09 14:51 GMT+01:00 Kevin Rushforth <kevin.rushforth at>:

> My recommendation would be to avoid this dependency if possible, but if
> not, then Dave's suggestion is the way to go. What is it that you need from
> jdk.internal.ref that you can't do using public API?

Marlin (OpenJDK) use jdk.internal.ref.CleanerFactory.cleaner() to get the
java.base Cleaner instance (Thread).

I agree for Marlin-FX, it will be easier to use the public Cleaner API but
it will cost creating another thread.

Here is the current fix :

    // JavaFX specific Cleaner for Marlin-FX:
    // Module issue with jdk.internal.ref.Cleaner
    private final static java.lang.ref.Cleaner cleaner
        = java.lang.ref.Cleaner.create();

    static java.lang.ref.Cleaner getCleaner() {
        return cleaner;

instead of:
    static jdk.internal.ref.Cleaner getCleaner() {
        return jdk.internal.ref.CleanerFactory.cleaner();


More information about the openjfx-dev mailing list