Я хотел бы использовать публикацию / подписку в нашем приложении XPages, на Java, например, с Jedis. Приложение работает в многопользовательском режиме, и когда один пользователь вносит некоторые изменения в документ, мы бы хотели, чтобы эти изменения были отражены на экранах других пользователей. Теоретически это можно сделать с помощью PubSub: когда изменение применяется, сообщение «измененный документ» публикуется и отправляется стороне или сторонам, подписавшимся на это сообщение. Абонентскую часть, которую я хотел бы поместить в поток, чтобы подписавшийся объект мог реагировать немедленно при получении сообщения.
Область действия большинства объектов, использующих подписку, - видимость, они должны быть уничтожены при уничтожении видимости. Но что происходит, когда объект заброшен, а поток подписчика все еще там? Например, как я могу сказать JVM, что поток может быть безопасно остановлен и удален сборщиком мусора?
Я еще не попробовал это, поэтому у меня нет кода, который я могу показать, но вот вопросыУ меня есть:
- Прав ли я, продолжит ли поток продолжать работу даже после уничтожения видоискателя?
- Есть ли способ создать поток для сбора мусора?
- или, может быть: есть какой-то API, который делает PubSub в многопоточной среде XPages?