Jump to content
Excelsior Forums
JadedMind

Deserialization problem with JET Perfect

Recommended Posts

Our application deserializes classes which have been serialized with a JRE-based Java program.  When the application is compiled in the non-Perfect mode, it deserializes the classes correctly.  When the application is compiled in Jet Perfect, the application fails at run-time because of serial version UID mismatches during deserialization.  We suspect that the serial version UID in the Jet Perfect-compiled application has somehow been changed, because the version number of the class being deserialized is correct.  Has anybody come across this problem before?  How can it be solved?

:huh:

The UID changed from -3032451851304464140 to

7843930087700550966

Share this post


Link to post
Share on other sites

We discovered that this problem was caused by missing elements from the usage file generated with the -Djet.usage.list flag.  Even though the class which did not deserialize correctly appears in the usage list, its [classname].serialVersionUID field did not.  There turned out to be over 100 such missing entries even though the application must have used most of them during execution with the usage logging.  Could it be that the usage logger sometimes misses [:huh:]

Share this post


Link to post
Share on other sites

×