On Thu, 2 Jan 2025 17:13:17 GMT, David M. Lloyd <d...@openjdk.org> wrote:
> When loading services by class loader > (`ServiceLoader.load(Class,ClassLoader)`), the module layers bound to the > given class loader are searched for services, along with the layers bound to > class loader's parent, and so on. For non-hierarchical class loader > arrangements, this breaks down because the parent class loader of > non-hierarchical class loaders is typically `null` (i.e. the boot class > loader), while the class loader might have multiple dependency class loaders > which replace the role of parent. > > Add an API to `ClassLoader` which allows additional layers to be bound to the > class loader for the purpose of service loading by class loader, without > affecting reliable configuration of modules (see > [JDK-8346439](https://bugs.openjdk.org/browse/JDK-8346439)), which allows > non-hierarchical class loaders to resolve service providers in dependency > class loaders. The discussion on `jigsaw-dev` relating to this issue has fizzled out to a degree, but I'm hoping for some progress yet later. ------------- PR Comment: https://git.openjdk.org/jdk/pull/22905#issuecomment-2637439424