[jboss-jira] [JBoss JIRA] Created: (JBAS-5494) Change URLStreamHandlerFactory to only use Class.forName

Mike Millson (JIRA) jira-events at lists.jboss.org
Tue Apr 29 22:18:09 EDT 2008


Change URLStreamHandlerFactory to only use Class.forName
--------------------------------------------------------

                 Key: JBAS-5494
                 URL: http://jira.jboss.com/jira/browse/JBAS-5494
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: ClassLoading
    Affects Versions: JBossAS-4.0.5.GA
            Reporter: Mike Millson
         Assigned To: Scott M Stark


org.jboss.net.protocol.URLStreamHandlerFactory uses the thread context class loader. Any two class loaders that recurse into a parent URLClassLoader that need to initialize the protocol handlers for its classpath can end up with recursion back to the child and deadlock.

Change our URLStreamHandlerFactory to only use Class.forName to restrict class loading to its class loader or its parent. That would require all handlers to be present in the jboss bootstrap or system class loader. That is not a huge restriction given that the java.net.URL class has a static cache of the handlers. The URLClassLoader does support a per instance URLStreamHandlerFactory needed per application protocol handlers, but we would have to change the tomcat class loader to support this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list