-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Test to demonstrate circular serialization issues. #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Deserialization of objects with mybatis proxies fails when having circular references.
Hi Jurriaan. I did not recognized it was you who opened this issue. I would bet that only Franta is able to address this problem. Can you just add a comment to the old gcode tracker to see if he is notified (and wants to fix it :) ) Thank you! |
Hi Eduaro, Looks like Franta took the bait! I'll have a look at his proof of concept, but i'm very busy at the moment; it may take some weeks. |
Ok. Thank you!! |
Deserializing cyclic object graphs #59
…re no unloaded properties in the proxy. This means that the proxy can deserialize the wrapped Object.
Deserialization of objects with mybatis proxies fails when having circular references.
…re no unloaded properties in the proxy. This means that the proxy can deserialize the wrapped Object.
…into serializecircular Conflicts: src/main/java/org/apache/ibatis/executor/loader/AbstractSerialStateHolder.java src/main/java/org/apache/ibatis/executor/loader/cglib/CglibSerialStateHolder.java src/main/java/org/apache/ibatis/executor/loader/javassist/JavassistSerialStateHolder.java
Working on a unittest... We have an issue with using hashCode with some types and this solution uses a HashSet |
Deserialization of objects with mybatis proxies fails when having circular
references. Is is an extension of the test created for googlecode issue 614.
This test uses three types:
And executes the folowing scenario:
Result:
Caused by: java.lang.ClassCastException: cannot assign instance of org.apache.ibatis.executor.loader.cglib.CglibSerialStateHolder to field org.apache.ibatis.submitted.serializecircular.Child.parent of type org.apache.ibatis.submitted.serializecircular.Parent in instance of org.apache.ibatis.submitted.serializecircular.Child
at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)
at java.io.ObjectStreamClass.setObjFieldValues(Unknown Source)