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.

It's not the role of a custom ClassLoader to establish this relationship. So I 
think too premature to propose a PR with an API like this. Instead, I think it 
will require continuing the discussion on jigsaw-dev to try to get some 
consensus that there is a problem worth spending time on.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/22905#issuecomment-2568147313

Reply via email to