[ 
http://issues.apache.org/jira/browse/GERONIMO-2510?page=comments#action_12443676
 ] 
            
David Jencks commented on GERONIMO-2510:
----------------------------------------

I'm not convinced your analysis is correct since I believe this worked before I 
moved the openejb corba classes into a separate jar.  I'll look into it further.

> CORBA/RMI delegate code requires delegate implementation to be on the system 
> classpath
> --------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-2510
>                 URL: http://issues.apache.org/jira/browse/GERONIMO-2510
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: CORBA
>            Reporter: Dain Sundstrom
>
> When the java.rmi.Util class is loaded, it uses Class.forName to load the 
> UtilDelegate specified in a system property.  This is what yoko uses:
>     private static UtilDelegate delegate = null;
>     private static final String defaultDelegate = 
> "org.apache.yoko.rmi.impl.UtilImpl";
>     static {
>         // Initialize delegate
>         String delegateName = System.getProperty("javax.rmi.CORBA.UtilClass", 
> defaultDelegate);
>         try {
>             delegate = 
> (UtilDelegate)Class.forName(delegateName).newInstance();
>         } catch (Exception e) {
>             throw new RuntimeException("Can not create Util delegate: 
> "+delegateName, e);
>         }
>     }
> IIRC Class.forName(String) uses the class loader of the class containing the 
> code, and since java.rmi.Util will always be on the system class path our 
> delegate must be on the system class path :(
> I see a few choices:
> * change yoko to use the thread context class loader... then add a gbean to 
> set the property and load the Util class. repeat of every delegate class.
> * write a delegate delegate that allows us to swap out the actual delegate 
> implementation later
> * split out out delegate class into a jar we can put on the system class path

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

        

Reply via email to