JBoss Community

Re: Custom ClassLoader

created by Irfan Basha in JBoss Microcontainer - View the full discussion

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

Reply to this message by going to Community

Start a new discussion in JBoss Microcontainer at Community