1 Reply Latest reply: Jan 21, 2010 4:45 AM by 843804 RSS

    Help on upgrade from java 1.5 to java 1.6, and java 1.6 support ejb 2.0 ?

    843804
      Hi All,

      I am a new user on J2EE development. I have a set of source code which is developed by java 1.5, ejb 2.0 and the server I am using is Sun One App Server 9. When I all use jdk 1.5 on server and jre 1.5 on client, all can work properly.

      But when i upgrade to 1.6, i found some strange problems.When I call server to give me a remote interface (by RMI, PortableRemoteObject.narrow(objref, TestManagerHome.class)) and call the create, sometime it can works, but sometime it give me the following Error:

      Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 217 completed: No
           at com.sun.corba.se.impl.logging.ORBUtilSystemException.bufferReadManagerTimeout(ORBUtilSystemException.java:2633)
           at com.sun.corba.se.impl.logging.ORBUtilSystemException.bufferReadManagerTimeout(ORBUtilSystemException.java:2655)
           at com.sun.corba.se.impl.encoding.BufferManagerReadStream.underflow(BufferManagerReadStream.java:105)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_1.grow(CDRInputStream_1_1.java:75)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_octet_array(CDRInputStream_1_0.java:684)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.getConvertedChars(CDRInputStream_1_0.java:2266)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_2.read_wstring(CDRInputStream_1_2.java:122)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:990)
           at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
           at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1991)
           at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2216)
           at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1223)
           at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
           at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
           at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:879)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:873)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_abstract_interface(CDRInputStream_1_0.java:863)
           at com.sun.corba.se.impl.encoding.CDRInputStream.read_abstract_interface(CDRInputStream.java:269)
           at com.sun.corba.se.impl.io.IIOPInputStream.readObjectDelegate(IIOPInputStream.java:363)
           at com.sun.corba.se.impl.io.IIOPInputStream.readObjectOverride(IIOPInputStream.java:526)
           at java.io.ObjectInputStream.readObject(ObjectInputStream.java:345)
           at java.util.ArrayList.readObject(ArrayList.java:593)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:597)
           at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1696)
           at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1214)
           at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400)
           at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
           at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
           at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
           at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)

      But i had generated a new stub for the code using jdk 1.6, but it still not work.

      When i search in google, some document tell me that java 1.6 does not use stub, but reflection. So i want to know does java 1.6 still support ejb 2.0 ?
      And is there any difference between JVM 1.5 and 1.6 on calling server using RMI and buffer handling ?

      Thanks you!