Hi all,
We are working on the javax.naming.ldap and we are facing the following
issue when thinking about supporting multiple VMs.
Following the SPEC there is a method createExtendedResponse in the
StartTlsRequest class which states that the returning object must be an
instance of a concrete subclass of StartTlsResponse and must have a public
zero-argument constructor. The concrete subclass is determined by reading the
configuration file located in
META-INF/services/javax.naming.ldap.StartTlsResponse (see
http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/ldap/StartTlsRequest.html)
The search for this configuration file is done by looking in the classpath,
java.home and user.dir; also the Xbootclasspath should be inspected, and that
seems to be a problematic situation, since there is not a standard property to
look for its value. Different VM implementations have different property
names for the boot class path value. In the old Harmony VM implementation was
com.ibm.oti.system.class.path; in the new one is org.apache.harmony.boot.class.
The property name in the Sun's VM is sun.boot.class.path.
We are wondering which property name to use in the code. At first sight the
Harmony new VM implementation property seems to be the better option, but maybe
looking for the other properties will be interesting for compatibility purposes.
We would be very interested in opinions.
Thanks,
Daniel