I have 2 ignite cluster nodes on 2 AWS servers,both starting as server model.In my client,I use ContinuousQuery to listen to the Ignite events that i config and update my local cache data when event happens.
I meet a problem when using this way to synchronize my local cache with ignite cluster. ContinuousQuery API use CacheEntryUpdatedListener to listen to CacheEntryEvent and through QueryCursor to query data from Ignite nodes.In my client code,i start a ContinuousQuery and QueryCursor instance during my application initialization. But i find when ignite cluster nodes stop,IgniteCache try to reconnect to Ignite cluster before timeout.And after IgniteCache instance stop,ContinuousQuery and QueryCursor stop too.In this way,I need a notice to designe when i have to reinit ContinuousQuery and QueryCursor.I now use IgniteCheckedException and IgniteClientDisconnectedException to modify a flag that whether restart query or not when ignite cluster recovers. This method also has a problem too.During ignite cluster stop and restart,if no application call to trigger IgniteCheckedException or IgniteClientDisconnectedException event,Idon't know whether i should restart ContinuousQuery or not.And as a rsult, my local cache can't listen to remote ignite cluster. I don't konw how to solve this problem,So I hope some help from professional. Thanks you for your enthusiasm!
