Re-syncing is pretty tough and very application-dependent. If you are caching data that can be retrieved externally or recalculated externally, then your best bet is to simply wipe the cache and start again.
Otherwise, you could pick one instance as the "correct" version, and shut down and restart all other caches in the cluster so they wipe their "incorrect" state and retrieve state from the one correct instance.
Anything beyond these two simplistic approaches will involve actually understanding what is in your state and perhaps attempting to merge and consolidate the data manually.
I think Shutting down and restarting will work in our case, as there is only one writer server, which will be initial host, and only one who will write to cache, so server instance of cache will be correct one always. Only disconnected instance (reader) needs to restart itself, not all others.
Which event should be used for this,
How to identify that i am joined back in cluster???
i think i can use getCreator() (returns Address class, but it does not have getIP or getPort kind of methods..)