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 seeJDK-8330005 for preliminary work.
The internal usage of ServiceLoader has some unintended drawbacks (
Also see
- csr for
-
JDK-8332131 Remove the usage of ServiceLoader in j.u.r.RandomGeneratorFactory
- Closed
- relates to
-
JDK-8330005 RandomGeneratorFactory.getDefault() throws exception when the runtime image only has java.base module
- Closed
-
JDK-8331223 RandomGeneratorFactory.all() throws ServiceConfigurationError if a java.util.random.RandomGenerator service is missing in the classpath
- Closed