Well, if it's leaving the VM the code base should be going through the 
WebService.  The WebService URL will not have a space in it, plus it will 
not be a file: URL and will not be affected by the Fix below.  I think 
that's why the JRMP test suite was not failing.

How about we install this fix via an MBean (maybe the info mbean) into the 
VM.  We run the testsuite against it and see what happens.

Hey, at least it should not not make things MUCH worse, jboss is allready 
screwed if installed on paths with a space.

Regards,
Hiram

>From: "Scott M Stark" <[EMAIL PROTECTED]>
>Reply-To: [EMAIL PROTECTED]
>To: <[EMAIL PROTECTED]>
>Subject: Re: [JBoss-dev] (no subject)
>Date: Sat, 25 Aug 2001 00:31:00 -0700
>
>This won't work if the codebase leaves the vm, and now what happens if
>the path contains a '+' ?
>
>----- Original Message -----
>From: "Hiram Chirino" <[EMAIL PROTECTED]>
>To: <[EMAIL PROTECTED]>
>Sent: Friday, August 24, 2001 11:54 PM
>Subject: Re: [JBoss-dev] (no subject)
>
>
> >
> > Ok.. if finished that workaround.  I don't know if it will break 
>anything
> > else, but at least it fixes our test case.  To use it, add the following
> > line to the top of the tstMO main() method.
> >
> >    FileURLSpaceFixer.install();
> >
> > below is the FileURLSpaceFixer.java file.
> > -------------------------
> > import java.net.URL;
> > import java.net.URLStreamHandlerFactory;
> > import java.net.URLStreamHandler;
> > import java.net.URLConnection;
> >
> > /**
> > * Used to fix the problem with the RMI classloader for
> > * when a space appears in the path to where a class
> > * should be loaded from.
> > *
> > * @author: Hiram Chirino
> > */
> > class FileURLSpaceFixer {
> >
> >    private static FileHandler fileHander= new FileHandler();
> >    private static CustomURLStreamHandlerFactory
> > customURLStreamHandlerFactory= new CustomURLStreamHandlerFactory();
> >
> >    //
> >    // This class is used to hook into the URL protocol parsing sysytem
> >    //
> >    private static class CustomURLStreamHandlerFactory implements
> > URLStreamHandlerFactory {
> >       public URLStreamHandler createURLStreamHandler(String protocol) {
> >          if (protocol.equals("file"))
> >             return fileHander;
> >          return null;
> >       }
> >    }
> >
> >    //
> >    // This class will override how the file handler is implemented.
> >    //
> >    private static class FileHandler extends
> > sun.net.www.protocol.file.Handler {
> >
> >       // When we externalize the URL we want to make all the spaces in 
>the
> > file name
> >       // a '+' character
> >       protected String toExternalForm(URL u) {
> >          String s= super.toExternalForm(u);
> >          return s.replace(' ', '+');
> >       }
> >
> >       // When we load a URL in we want to convert all the '+' characters
>in
> > the file name
> >       // into spaces.
> >       protected void parseURL(URL u, String spec, int start, int limit) 
>{
> >          super.parseURL(u, spec, start, limit);
> >          setURL(u, u.getProtocol(), u.getHost(), u.getPort(),
> > u.getFile().replace('+', ' '), u.getRef());
> >       }
> >    }
> >
> >    // use this method to install this fix.
> >    public static void install() {
> >       URL.setURLStreamHandlerFactory(customURLStreamHandlerFactory);
> >    }
> > }
> > -----------------
> >
> > Regards,
> > Hiram
> >
>
>
>
>_______________________________________________
>Jboss-development mailing list
>[EMAIL PROTECTED]
>http://lists.sourceforge.net/lists/listinfo/jboss-development


_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp


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

Reply via email to