I'm updating a Java EE 6 application from GF 3.1.2.2 to 4.1. The
application heavily uses the EJB timer services and persists
TimerHandle objects
in the DB.
I get the following exception when accessing those timer handles in the DB:
Exception [EclipseLink-66] (Eclipse Persistence Services -
2.5.2.v20140319-9ad6abd):
org.eclipse.persistence.exceptions.DescriptorExceptionException
Description: Could not deserialize object from byte array.Internal
Exception: java.io.InvalidClassException:
com.sun.ejb.containers.TimerWrapper$TimerHandleImpl; local class
incompatible: stream classdesc serialVersionUID = 8013326429831986199,
local class serialVersionUID = -7638766191514989908Mapping:
org.eclipse.persistence.mappings.DirectToFieldMapping[timerHandle-->MESSAGE.TIMERHANDLE]Descriptor:
RelationalDescriptor(com.example.Message --> [DatabaseTable(MESSAGE)])
Apparently, serial version IDs have changed from GF 3.1 to 4.1. Any ideas
how to reuse those TimerHandle objects in GF 4.1.
I've also posted this on SO:
http://stackoverflow.com/questions/30660996