Skip to content

FlowExecutionImpl does not have the serialVersionUID defined [SWF-1737] #912

@spring-operator

Description

@spring-operator

Nate Margono opened SWF-1737 and commented

I'm running into an issue that's awfully similar to SPR-4826. This is a blocker for my application's new release as well.

My issue is upgrading from spring-webflow 2.0.9.RELEASE to 2.3.4.RELEASE, and my previously existing snapshots can no longer be loaded/deserialized/unmarshalled:

java.io.InvalidClassException: org.springframework.webflow.engine.impl.FlowExecutionImpl; local class incompatible: stream classdesc serialVersionUID = 507164007291131518, local class serialVersionUID = -4659689664429207075

So I tried to approach it by hardcoding private static final long serialVersionUID = -4659689664429207075L; just like the fix for SPR-4826, but it's still throwing the same error, so maybe I missed a class/step?

It's noteworthy that the snapshots that were serialized in 2.0.9 were done by JDK 1.6, whereas the upgraded 2.3.4 is with JDK 1.8, which explains the differently generated serialVersionUID, as FlowExecutionImpl.java doesn't have a serialVersionUID harcoded - ergo, the JDK has to auto generate one.

But, for backward compatibility in the spring-webflow upgrade, shouldn't the snapshots still be able to be loaded/deserialized in the later version?

What's my best option to approach this?


Affects: 2.3.4

Reference URL: spring-projects/spring-framework#9502

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: waiting-for-triageWe need additional information before we can continue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions