Raymond, If you want to have a single continuous query on one of the server nodes, then I think singleton service is the best option to achieve that. It will not only guarantee that there is one query at a time, but will also make sure to redeploy it in case of failure.
Also I would be accurate with doing processing in the remote filter. Filter is not designed for this, it's designed to do the filtering of updates before sending them to listening node. Major pitfall here is that it's invoked within entry lock, so any heavy processing would block the entry. Moreover, synchronous cache or other operations can cause deadlocks and/or thread starvation. Finally, keep in mind that filter can be invoked multiple times (at least for primary and backups, sometimes even more in case of failures). There is no exactly-once guarantee for remote filter, it's only applied to local listener. -Val -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/