While RandomGeneratorFactory makes internal use of ServiceLoader, there was never an intent to allow non-platform implementations of j.u.r.RandomGenerator to participate in the discovery and lookup as exposed by RandomGeneratorFactory.all(), RandomGeneratorFactory.of() and RandomGenerator.of().
The internal usage of ServiceLoader has some unintended drawbacks (JDK-8331223). To overcome them, the implementation can be simplified by removing ServiceLoader from RandomGeneratorFactory.
Also see JDK-8330005 for preliminary work.