Read this:

http://java.sun.com/j2se/1.4/docs/api/java/net/URL.html#URL(java.lang.String, 
java.lang.String, int, java.lang.String)

--jason


marc fleury wrote:

>what the *fuck* is a protocol handler,
>
>please
>
>marcf
>
>|-----Original Message-----
>|From: Jason Dillon [mailto:[EMAIL PROTECTED]]
>|Sent: Monday, February 25, 2002 6:04 PM
>|To: marc fleury
>|Cc: Jason Dillon; [EMAIL PROTECTED]
>|Subject: Re: [JBoss-dev] CVS update:
>|jboss-common/src/main/org/jboss/net/protocol
>|URLStreamHandlerFactory.java package.html
>|
>|
>|Both setting the system property and installing a factory are both
>|standard methods for introducing custom protocol handlers.
>|
>|I am not sure exactly why Class.forName() did not pick up the loaded
>|classes.  If you can see why, please let me know, cause I don't get it.
>|
>|As for the handler, it looks like it works well... there was just a
>|problem getting it to be used with out having to have MainDeployer
>|explicity install a factory.
>|
>|The changes to ServerImpl will allow more custom protocols to be used
>|without having to explictly install the factory (which could mess up
>|other protocol usage... perhaps).
>|
>|I am concerned why Class.forName() didn't pull this up, so please have a
>|look and drop some knowledge =)
>|
>|--jason
>|
>|
>|marc fleury wrote:
>|
>|>So where we had a simple "System.setProperty(bla bla)" we now have a
>|>factory, a stream handler that doesn't work reliably, a couple of
>|>Class.forName() in the code (that OF COURSE don't work with the "custom
>|>classloading") a lot of crazyness **we don't need**?
>|>
>|>man, it makes me nervous I tell you, I will try to look at this
>|tomorrow, it
>|>better be good, simple and NECESSARY jason, I pray it is good.
>|>
>|>marcf
>|>
>|>|-----Original Message-----
>|>|From: [EMAIL PROTECTED]
>|>|[mailto:[EMAIL PROTECTED]]On Behalf Of Jason
>|>|Dillon
>|>|Sent: Monday, February 25, 2002 5:29 PM
>|>|To: [EMAIL PROTECTED]
>|>|Subject: [JBoss-dev] CVS update:
>|>|jboss-common/src/main/org/jboss/net/protocol
>|>|URLStreamHandlerFactory.java package.html
>|>|
>|>|
>|>|  User: user57
>|>|  Date: 02/02/25 17:28:37
>|>|
>|>|  Added:       src/main/org/jboss/net/protocol
>|URLStreamHandlerFactory.java
>|>|                        package.html
>|>|  Log:
>|>|   o Adding factory that will load handlers from org.jboss.net.protocol
>|>|     as it appears that the URL version won't work with our custom
>|>|class loading
>|>|
>|>|  Revision  Changes    Path
>|>|  1.1
>|>|jboss-common/src/main/org/jboss/net/protocol/URLStreamHandlerFactory.java
>|>|
>|>|  Index: URLStreamHandlerFactory.java
>|>|  ===================================================================
>|>|  /***************************************
>|>|   *                                     *
>|>|   *  JBoss: The OpenSource J2EE WebOS   *
>|>|   *                                     *
>|>|   *  Distributable under LGPL license.  *
>|>|   *  See terms of license at gnu.org.   *
>|>|   *                                     *
>|>|   ***************************************/
>|>|
>|>|  package org.jboss.net.protocol;
>|>|
>|>|  import java.net.URLStreamHandler;
>|>|
>|>|  /**
>|>|   * A factory for loading JBoss specific protocols.  This is based
>|>|   * on Sun's URL mechanism, in that <tt>Handler</tt> classes will be
>|>|   * looked for in the <tt>org.jboss.net.protocol</tt>.
>|>|   *
>|>|   * <p>This factory is installed by the default server implementaion
>|>|   *    as it appears that our custom class loading disallows the
>|>|   *    default URL logic to function when setting the
>|>|   *    <tt>java.protocol.handler.pkgs</tt> system property.
>|>|   *
>|>|   * @version <tt>$Revision: 1.1 $</tt>
>|>|   * @author  <a href="mailto:[EMAIL PROTECTED]";>Jason Dillon</a>
>|>|   */
>|>|  public class URLStreamHandlerFactory
>|>|     implements java.net.URLStreamHandlerFactory
>|>|  {
>|>|     /** The package prefix where JBoss protocol handlers live. */
>|>|     public static final String PACKAGE_PREFIX =
>|"org.jboss.net.protocol";
>|>|
>|>|     /**
>|>|      * Returns the Stream Handler.
>|>|      *
>|>|      * @param protocol    The protocol to use
>|>|      * @return            The protocol handler or null if not found
>|>|      */
>|>|     public URLStreamHandler createURLStreamHandler(final String
>|protocol)
>|>|     {
>|>|        URLStreamHandler handler = null;
>|>|
>|>|        try {
>|>|           String classname = PACKAGE_PREFIX + "." + protocol +
>|".Handler";
>|>|           Class type = null;
>|>|
>|>|           try {
>|>|              type = Class.forName(classname);
>|>|           }
>|>|           catch (ClassNotFoundException e) {
>|>|              ClassLoader cl = ClassLoader.getSystemClassLoader();
>|>|              if (cl != null) {
>|>|                 type = cl.loadClass(classname);
>|>|              }
>|>|           }
>|>|
>|>|           if (type != null) {
>|>|              handler = (URLStreamHandler)type.newInstance();
>|>|           }
>|>|        }
>|>|        catch (Exception ignore) {}
>|>|
>|>|        return handler;
>|>|     }
>|>|  }
>|>|
>|>|
>|>|
>|>|  1.1
>|>|jboss-common/src/main/org/jboss/net/protocol/package.html
>|>|
>|>|  Index: package.html
>|>|  ===================================================================
>|>|  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
>|>|  <html>
>|>|    <head>
>|>|      <!-- $Id: package.html,v 1.1 2002/02/26 01:28:37 user57 Exp $ -->
>|>|      <!--
>|>|
>|>|      JBoss: The OpenSource J2EE WebOS
>|>|
>|>|      Distributable under LGPL license.
>|>|      See terms of license at gnu.org.
>|>|
>|>|      -->
>|>|    </head>
>|>|
>|>|    <body bgcolor="white">
>|>|      <p>URL protocol stream helpers.
>|>|
>|>|      <h2>Package Specification</h2>
>|>|      <ul>
>|>|        <li><a href="javascript: alert('not available')">Not
>|Available</a>
>|>|      </ul>
>|>|
>|>|      <h2>Related Documentation</h2>
>|>|      <ul>
>|>|        <li><a href="javascript: alert('not available')">Not
>|Available</a>
>|>|      </ul>
>|>|
>|>|      <h2>Package Status</h2>
>|>|      <ul>
>|>|        <li><font color="green"><b>STABLE</b></font>
>|>|      </ul>
>|>|
>|>|      <h2>Todo</h2>
>|>|      <ul>
>|>|        <li>???
>|>|      </ul>
>|>|
>|>|      <!-- Put @see and @since tags down here. -->
>|>|
>|>|    </body>
>|>|  </html>
>|>|
>|>|
>|>|
>|>|
>|>|_______________________________________________
>|>|Jboss-development mailing list
>|>|[EMAIL PROTECTED]
>|>|https://lists.sourceforge.net/lists/listinfo/jboss-development
>|>
>|
>



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

Reply via email to