You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Neil Richards (JIRA)" <ji...@apache.org> on 2009/05/06 14:52:30 UTC

[jira] Created: (YOKO-429) Lookup for delegate class settings for javax.rmi.CORBA.Util, javax.rmi.CORBA.Stub and javax.rmi.PortableRemoteObject don't look in orb.properties

Lookup for delegate class settings for javax.rmi.CORBA.Util, javax.rmi.CORBA.Stub and javax.rmi.PortableRemoteObject don't look in orb.properties
-------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: YOKO-429
                 URL: https://issues.apache.org/jira/browse/YOKO-429
             Project: Yoko - CORBA Server
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: RMI-IIOP
         Environment: This problem is current in revision (771721) of the rmi-spec code at http://svn.apache.org/repos/asf/incubator/yoko/trunk/rmi-spec
            Reporter: Neil Richards


Currently, the delegation mechanism in:

javax.rmi.CORBA.Util
javax.rmi.CORBA.Stub
javax.rmi.PortableRemoteObject

look for the following property settings:

javax.rmi.CORBA.UtilClass
javax.rmi.CORBA.StubClass
javax.rmi.CORBA.PortableRemoteObjectClass

only in the Java system properties.


However, the OMG Java to IDL specification states that these property settings should also be looked for in the orb.properties file (if they are not found in the system properties).
[Java to IDL minimum spec (00-01-06), section 1.5.3.4, page 1-55]
[Java to IDL current spec (08-01-14), section 4.5.3.4, pages 58,59]:
------
Delegation Mechanism

Alternate implementations of the standard API classes are enabled by setting system
properties or placing entries in the orb.properties file. The names of the new system
properties are:

javax.rmi.CORBA.StubClass
javax.rmi.CORBA.UtilClass
javax.rmi.CORBA.PortableRemoteObjectClass

For security reasons, each replaceable API class reads its implementation delegate
class system property at static initialization time and uses this information to set up
implementation delegation if this has been specified. The delegation arrangement thus
established cannot be changed subsequently. The search order for implementation
delegate class names is:

1. The system properties
2. The orb.properties file

For each implementation delegate class, an instance is created using the
Class.newInstance() method. For the Util and PortableRemoteObject
delegate classes, this is a singleton instance. For the Stub delegate class, there is one
delegate instance per stub object. The methods in the standard API classes test if a
delegate instance exists and if so, forward the method call on to the delegate instance.
------

For reference, the location of the orb.properties file is defined in the OMG IDL to Java specification.
[IDL to Java minimum spec (00-11-03), section 1.21.8.2, pages 1-131,1-132]
[IDL to Java current spec (08-01-11), section 4.21.9.2, page 135]:
------
orb.properties file

The orb.properties file is an optional file. The search order for the file is:

1.The user's home directory, given by the user.home system property.
2.The <java-home>/lib directory, where <java-home> is the value of the System property java.home.

It consists of lines of the form <property-name>=<property-value>.

See Table 4.3 for a list of the property names and values that are recognized by ORB.init. Any property names not in this
list shall be ignored by ORB.init(). The file may also contain blank lines and comment lines (starting with #), which
are ignored.
------

NB: The OMG IDL to Java specification states that only these property settings are honored by ORB.init():

org.omg.CORBA.ORBClass
org.omg.CORBA.ORBSingletonClass

However, the honoring of the three (other) property settings are not performed in ORB.init(), but rather in the static initialization of
javax.rmi.CORBA.Util, javax.rmi.CORBA.Stub and javax.rmi.PortableRemoteObject.


Therefore, the static initialization in these three classes should be modified to conform to the OMG specifications, as detailed above.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.