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