User: reverbel
  Date: 02/03/10 17:24:56

  Modified:    src/main/org/jboss/ejb EjbModule.java
  Log:
  Method initializeContainer was changed to create a WebClassLoader for the
  container and to register it with the web service.
  
  Revision  Changes    Path
  1.10      +40 -1     jboss/src/main/org/jboss/ejb/EjbModule.java
  
  Index: EjbModule.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/EjbModule.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- EjbModule.java    8 Mar 2002 20:59:28 -0000       1.9
  +++ EjbModule.java    11 Mar 2002 01:24:56 -0000      1.10
  @@ -9,6 +9,7 @@
   
   
   //import org.jboss.management.j2ee.EjbModule;
  +import java.lang.reflect.Constructor;
   import java.net.URL;
   import java.rmi.RemoteException;
   import java.util.Collection;
  @@ -20,6 +21,7 @@
   import javax.management.ObjectName;
   import org.jboss.deployment.DeploymentInfo;
   import org.jboss.ejb.BeanLockManager;
  +import org.jboss.ejb.Container;
   import org.jboss.ejb.plugins.AbstractInstanceCache;
   import org.jboss.ejb.plugins.SecurityProxyInterceptor;
   import org.jboss.ejb.plugins.StatefulSessionInstancePool;
  @@ -39,6 +41,7 @@
   import org.jboss.system.Service;
   import org.jboss.system.ServiceControllerMBean;
   import org.jboss.system.ServiceMBeanSupport;
  +import org.jboss.system.UnifiedClassLoader;
   import org.jboss.util.jmx.MBeanProxy;
   import java.util.ArrayList;
   import javax.naming.InitialContext;
  @@ -47,6 +50,8 @@
   import org.jboss.verifier.BeanVerifier;
   import org.jboss.verifier.event.VerificationEvent;
   import org.jboss.verifier.event.VerificationListener;
  +import org.jboss.web.WebClassLoader;
  +import org.jboss.web.WebServiceMBean;
   
   import org.w3c.dom.Element;
   
  @@ -67,7 +72,8 @@
    * 
    * @author <a href="mailto:[EMAIL PROTECTED]";>Rickard Öberg</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>David Jencks</a>
  - * @version $Revision: 1.9 $
  + * @author <a href="mailto:[EMAIL PROTECTED]";>Francisco Reverbel</a>
  + * @version $Revision: 1.10 $
    *
    * @jmx:mbean extends="org.jboss.system.ServiceMBean"
    */
  @@ -570,6 +576,39 @@
         container.setLocalClassLoader( new URLClassLoader( new URL[ 0 ], localCl ) );
         // Set metadata
         container.setBeanMetaData( bean );
  +
  +      // Create the container's WebClassLoader 
  +      // and register it with the web service.
  +      String webClassLoaderName = conf.getWebClassLoader();
  +      WebClassLoader wcl;
  +      try 
  +      {
  +         Class clazz = cl.loadClass(webClassLoaderName);
  +         Constructor constructor = clazz.getConstructor(
  +                  new Class[] { Container.class, UnifiedClassLoader.class } );
  +         wcl = (WebClassLoader)constructor.newInstance(
  +                  new Object[] { container, cl });
  +      }
  +      catch (Exception e) 
  +      {
  +         throw new DeploymentException(
  +                  "Failed to create WebClassLoader of class: " 
  +                  + webClassLoaderName + ": ", e);
  +      }
  +      WebServiceMBean webServer = 
  +            (WebServiceMBean)MBeanProxy.create(WebServiceMBean.class, 
  +                                               WebServiceMBean.OBJECT_NAME);
  +      URL[] codebase = { webServer.addClassLoader(wcl) };
  +      wcl.setWebURLs(codebase);
  +      StringBuffer sb = new StringBuffer();
  +      for (int i = 0; i < codebase.length; i++) {
  +         sb.append(codebase[i].toString());
  +         if (i < codebase.length - 1) {
  +            sb.append(" ");
  +         }
  +      }
  +      container.setCodebase(sb.toString());
  +
         // Set transaction manager
         InitialContext iniCtx = new InitialContext();
         container.setTransactionManager( (TransactionManager) iniCtx.lookup( 
"java:/TransactionManager" ) );
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to