The deployment localCl is only for finding resources, not classes. The
classes class loader is created/assigned by the MainDeployer after
init as this may be the class loader from an encompassing deployment (ear).
Class loading should not be occurring until create.

--
xxxxxxxxxxxxxxxxxxxxxxxx
Scott Stark
Chief Technology Officer
JBoss Group, LLC
xxxxxxxxxxxxxxxxxxxxxxxx

[EMAIL PROTECTED] wrote:

Hi Scott,

the AbstractWebContainer now accepts nested deployments (it looks for WEB-INF/webservices.xml). The nested deployment is then handled by the JSR109Service, which tries to load the service endpoint interface (SEI) from the parents class loader.

During AbstractWebContainer.init the di.localCL is setup such, that it does NOT include the webapp classpath (WEB-INF/classes, WEB-INF/lib), but this is where the SEI lives.

I propose extending the di.localCL in AbstractWebContainer.init to include the webapp classpaths, rather then doing this in JSR109Service.init. What do you think?

cheers -thomas

-----------------------------------

            URL webServiceUrl = di.localCl.getResource("WEB-INF/webservices.xml");
            DeploymentInfo sub = new DeploymentInfo(webServiceUrl, di, getServer());
            sub.localUrl = di.localUrl;

            // add the webapp classes to the local class loader
            // the deployer needs to find the service endpoint (SEI) interface
            try
            {
               List urlList = new ArrayList(Arrays.asList(di.localCl.getURLs()));
               urlList.add(new URL(di.localUrl.toExternalForm() + "WEB-INF/classes/"));

               String [] libs = new File(di.localUrl.toExternalForm() + 
"WEB-INF/lib").list();
               for (int i = 0; libs != null && i < libs.length; i++)
               {
                  urlList.add(new URL(di.localUrl.getFile() + "WEB-INF/lib/" + 
libs[i]));
               }

URL [] urlArr = new URL[urlList.size()];
urlList.toArray(urlArr);
sub.localCl = new URLClassLoader(urlArr, di.localCl);
}
catch (MalformedURLException e)
{
throw new DeploymentException(e);
}





------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to