[JBoss JIRA] Created: (JBAS-3952) Problem with SerializableProxy when de-serializing in a remote client
by Frank Ulbricht (JIRA)
Problem with SerializableProxy when de-serializing in a remote client
---------------------------------------------------------------------
Key: JBAS-3952
URL: http://jira.jboss.com/jira/browse/JBAS-3952
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: EJB3, Hibernate service
Affects Versions: JBossAS-4.0.5.GA
Environment: Windows Vista and Windows XP, Java 1.5.0 Update 10 and Java 1.6.0
Reporter: Frank Ulbricht
Assigned To: Bill Burke
After calling a SessionBean method that returns an entity with a lazy relation there is an problem with de-serialization on the client side. The lazy field cannot not be assigned because of a ClassCastException. In other projects the same happens after a method returns the result of a query where lazy fields are involved. The problem occurs only with lazy fields. The is a simple test case attached with the problem code line marked.
Here is the complete stacktrace:
java.lang.reflect.UndeclaredThrowableException
at $Proxy6.updateAddress(Unknown Source)
at com.qualitype.testcase.client.RemoteClientTestCase.test(RemoteClientTestCase.java:48)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.rmi.MarshalException: Failed to communicate. Problem during marshalling/unmarshalling; nested exception is:
java.lang.ClassCastException: cannot assign instance of org.hibernate.proxy.pojo.javassist.SerializableProxy to field com.qualitype.testcase.entity.Address.person of type com.qualitype.testcase.entity.Person in instance of com.qualitype.testcase.entity.Address
at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:306)
at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
at org.jboss.remoting.Client.invoke(Client.java:525)
at org.jboss.remoting.Client.invoke(Client.java:488)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
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:77)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
... 22 more
Caused by: java.lang.ClassCastException: cannot assign instance of org.hibernate.proxy.pojo.javassist.SerializableProxy to field com.qualitype.testcase.entity.Address.person of type com.qualitype.testcase.entity.Person in instance of com.qualitype.testcase.entity.Address
at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)
at java.io.ObjectStreamClass.setObjFieldValues(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
at java.io.ObjectInputStream.readExternalData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
... 34 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Created: (HIBERNATE-43) SQL native Request who respond only the first letter
by Alexandre PETRILLO (JIRA)
SQL native Request who respond only the first letter
----------------------------------------------------
Key: HIBERNATE-43
URL: http://jira.jboss.com/jira/browse/HIBERNATE-43
Project: Hibernate
Issue Type: Bug
Environment: Jboss 4.0.4 G.A. patch 1
Reporter: Alexandre PETRILLO
Assigned To: Steve Ebersole
I need to do some sql native query (to a data base Oracle 9i) from an EJB session Bean.
I use Jboss in version 4.0.4 G.A. patch 1
My simple code :
public List doNativeQueryMultiple(String sqlQuery) {
List list = manager.createNativeQuery(sqlQuery).getResultList();
return list;
}
This is some exemple for understand the probleme.
SELECT 'OUI' val FROM dual union SELECT 'NON' FROM dual Order BY 1 asc
Response is : O,N
SELECT 'TOTO' val FROM dual union SELECT 'NON' FROM dual Order BY 1 asc
Response is : TOTO,NON
SELECT 'TOT' val FROM dual union SELECT 'NON' FROM dual Order BY 1 asc
Response is : T,N
SELECT 'OUI' val FROM dual union SELECT 'abc' FROM dual Order BY 1 asc
Response is : O,a
SELECT 'OUI' val FROM dual union SELECT 'abcd' FROM dual Order BY 1 asc
Response is : OUI,abcd
SELECT 'OUI' val FROM dual union SELECT 'NON' FROM dual union SELECT 'TOT' FROM dual Order BY 1 asc
Response is : O,N,T
SELECT 'OUI' val FROM dual union SELECT 'NON' FROM dual union SELECT 'TOTO' FROM dual Order BY 1 asc
Response is : OUI,NON,TOTO
When the response of the request is correct, the return class type is java.lang.String
And when is incorrect , the return class type is java.lang.Charactere, and the response contain the first letter.
The bug is when the size of all of the selected string have the same length.
The test done by Jboss for determine the class return type maybe is wrong.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months