[jboss-user] [EJB/JBoss] - Problem related with deserialization objects that have lazy

wjack do-not-reply at jboss.com
Wed Oct 1 03:12:49 EDT 2008


Environment:
1. Standalone Tomcat 6 (as serlvet container)
2. Standalone JBoss 4.2.2 (as ejb container)

I invoke methods (from webapp that deployed on Tomcat) on ejb3x beans that deployed on JBoss. As result of work of some methods I should get object with lazy loaded relationships, but in reality I have:

  | Caused by: java.rmi.MarshalException: Failed to communicate.  Problem during marshalling/unmarshalling; nested exception
  |  is:
  |         org.hibernate.HibernateException: Javassist Enhancement failed: mypackage.MyClassName
  |         at org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:122)
  |         at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:646)
  |         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  |         at org.jboss.remoting.Client.invoke(Client.java:1634)
  |         at org.jboss.remoting.Client.invoke(Client.java:548)
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
  | ...
  | Caused by: org.hibernate.HibernateException: Javassist Enhancement failed: mypackage.MyClassName
  |         at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:85)
  |         at org.hibernate.proxy.pojo.javassist.SerializableProxy.readResolve(SerializableProxy.java:54)
  |         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 java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  |         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  |         at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
  |         at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  |         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  |         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerialization
  | Manager.java:239)
  |         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.ja
  | va:133)
  |         at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
  |         at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:957)
  |         at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:586)
  |         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  |         at org.jboss.remoting.Client.invoke(Client.java:1634)
  |         at org.jboss.remoting.Client.invoke(Client.java:548)
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
  |         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107)
  | ...
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
  |         ... 105 more
  | Caused by: java.lang.ClassCastException: mypackage.MyClassName_$$_javassist_0 cannot be cast to org.hibernat
  | e.proxy.HibernateProxy
  |         at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:76)
  |         at org.hibernate.proxy.pojo.javassist.SerializableProxy.readResolve(SerializableProxy.java:54)
  |         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 java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1061)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1762)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  |         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  |         at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
  |         at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
  |         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
  |         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
  |         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
  |         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
  |         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerialization
  | Manager.java:239)
  |         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.ja
  | va:133)
  |         at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
  |         at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:957)
  |         at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:586)
  |         at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
  |         at org.jboss.remoting.Client.invoke(Client.java:1634)
  |         at org.jboss.remoting.Client.invoke(Client.java:548)
  |         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  |         ... 105 more
  | 

I have copied to tomcat's 'lib'  folder almost all jboss's client libraries that related to ejb3 and hibernate but it doesn't help.

List of libs:
antlr.jar
commons-logging.jar
concurrent.jar
ejb3-persistence.jar
hibernate-annotations.jar
hibernate3.jar
javassist.jar
jboss-aop-jdk50-client.jar
jboss-aspect-jdk50-client.jar
jboss-client.jar
jboss-common-client.jar
jboss-ejb3-client.jar
jboss-j2ee.jar
jboss-remoting.jar
jboss-serialization.jar
jboss-transaction-client.jar
jbosscx-client.jar
jbosssx-client.jar
jnp-client.jar

Excerpt from my orm.xml:

  |     <entity class="mypackage.MyClassName" name="MyClassName">
  |         <table name="MYTABLE"/>
  |         <attributes>
  |             <id name="id"><column name="ID"/></id>
  |             <basic name="name"><column name="NAME"/></basic>
  | 
  |             <many-to-one name="parent" target-entity="mypackage.MyClassName" fetch="LAZY">
  |                 <join-column name="PARENT_ID" />
  |             </many-to-one>
  |         </attributes>
  |     </entity>
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4179700#4179700

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4179700



More information about the jboss-user mailing list