Более общий способ ограничения числа экземпляров на одной машине или даже всей сети - использовать многоадресный сокет.
Использование многоадресного сокета позволяет транслировать сообщение на любое количество экземпляров вашего приложения, некоторые из которых могут быть на физически удаленных компьютерах в корпоративной сети.
В этом вы можете включить многие типы конфигураций, чтобы управлять такими вещами, как
Поддержка многоадресной рассылки Java через пакет java.net с MulticastSocket & amp; DatagramSocket является основным инструментом.
Примечание. MulticastSocket не гарантирует доставку пакетов данных, поэтому вы должны использовать инструмент, созданный поверх многоадресных сокетов, таких как JGroups . JGroups гарантируют доставку всех данных. Это один единственный файл jar с очень простым API.
JGroups существует уже некоторое время и имеет несколько впечатляющих применений в промышленности, например, он лежит в основе механизма кластеризации JBoss, передает широковещательные данные во все экземпляры кластер.
Чтобы использовать JGroups, чтобы ограничить количество экземпляров приложения (на машине или в сети, скажем: на количество лицензий, купленных клиентом), концептуально очень просто: