Cache Coordination issue
I'm running EclipseLink with our JEE application and deploying to a GlassFish cluster. I've enabled Cache Coordination to keep the instances in sync utilizing a JMS Topic. Our application is an event driven model and utilizes JMS heavily. Each state change results in a message being produced on a Jms queue and a we have different MDB's to consume the messages based upon their state. I've run into a situation where a process (entity named process) was created on server 1, processing then resumed on server 2, and attempted to complete on server 1. state changes (PENDING, PROCESSING, APPROVED).
The issue that I ran into was processing began on server 1, migrated to server 2, and tried to complete on server 1 and but saw the process in a state of PENDING while the process was actually in a state of APPROVED. I know that the coordination is working between the two instances as I have tested this through the UI and have seen the updates occur. I've also seen the EclipseLink log messages pertaining to message consumption so I know that the updates are flowing between the two instances.
So is this simply a case where the message that my application was processing got consumed prior to the coordination message that Eclipselink produced? I've since taken these objects out of the shared cache to prevent this issue from arising again. Is this my best strategy or is there something else that I am overlooking?
Thanks for the help...