Solution:
1. Add jboss-beans.xml to WEB-INF:
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<classloader name="custom-classloader" xmlns="urn:jboss:classloader:1.0"
export-all="NON_EMPTY" import-all="true" />
<bean name="CustomCL" class="com.beans.CustomClassLoader">
<constructor>
<parameter>
<inject bean="custom-classloader:0.0.0" />
</parameter>
</constructor>
</bean>
<bean name="CB1" class="com.Sample">
<classloader>
<inject bean="CustomCL" />
</classloader>
</bean>
</deployment>
2. Create a CustomClassLoader (com.beans.CustomClassLoader):
public class CustomClassLoader extends ClassLoader
{
public CustomClassLoader(ClassLoader parent)
{
super(parent);
}
public Class<?> loadClass(String name) throws ClassNotFoundException
{
//This simply calls super's loadClass (if run from jboss, it calls BaseClassLoader
return super.loadClass(name);
}
}
Run JBoss, keep a breakpoint in CustomClassLoader.loadClass method. when class com.Sample has to be loaded the breakpoint will be hit.
Regards,
Irfan