Provide a mechanism in ResourceLoader for the SPI implementation to use a module classloader for classloading in multiple-module applications.
In the current SPI loadClass(String name) is called and the container such as GlassFish, has no choice but to use the TCL or a generic classloader for the application.
For applications that have multiple modules(such as an EAR), the container needs a mechanism to identify which module the Class/resource being loaded belongs to, so that it can use the appropriate module classloader.
So, for instance, it would be nice if the SPI could be modified to have a
public Class<?> classForName(String name, BeanDeploymentArchive originatingBDA); instead of classForName(name)
and equivalents for the other methods in ResourceLoader.