Udovichenko, Nellya wrote:
Hello!
My JDK version is Sun JDK 1.5. When I use Geronimo Corba RMI IIOP
implementation
class org.apache.geronimo.interop.rmi.iiop.FinalFieldSetter throws
RuntimeException
because the implementation of FinalFieldSetter interface cannot be found
if JDK version differs 1.4.
I'm not sure what you're doing that uses this code, but the code in the
org.apache.geronimo.interop package is obsolete and not even in use by
Geronimo. In fact, we deleted this package this package from the current
builds because the Yoko project is going to be filling the space that
the interop code once attempted to fill.
Rick
I have found that there is a class
org.apache.geronimo.interop.util.SystemUtil which chooses
the adapter according to the current JDK version. This adapter is used
for FinalFieldSetter.
The bug is also reproducible on BEA JRockit 1.4.2_04/1.5.0.
Therefore, some questions appear:
1) What do you think it needs to be done if JDK version differs from 1.4?
2) Why JDK version is obtained from ‘java.vm.version’ parameter rather
than ‘java.specification.version’?
Can we avoid using of the adapter?
3) Сlass sun.misc.Unsafe in FinalFieldSetterJDK1.4 is used for object
recreation without
invoking a constructor. Can we use default serialization mechanism
instead?
I have also found reference to the bug in Sun JDK
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6379948
Does anyone have any ideas?
Thanks, Nellya Udovichenko,
Intel Middleware Products Division