Моя стратегия перехода на использование JMS-очереди для этого класса проблем.Существует множество реализаций с множеством вариантов.Вы можете искать передачу файлов «Out of Band», в частности, то, что вы описываете: передача токена (сообщения) с сервера, который указывает на файл, который будет загружен клиентом.Кроме того, это соответствует вашему требованию загрузки 1 приемникаОчередь JMS может быть настроена таким образом, чтобы разрешить только одного клиента для каждого сообщения через блокировку транзакций.
Не знаю, действительно ли это отвечает на ваш вопрос, но это может быть место для начала.
Редактировать:
Если вы новичок в JMS, вам стоит начать с ActiveMQ:
Ссылка на главную страницу
Doc, ссылающийся на внешнюю передачу файла Возможно, вы захотите внедрить свое собственное "BlobMessage" или просто использовать обычное сообщение и обрабатывать URL-адрес, переданный через него.
Учебное пособие по Oracle JMS 1.1
Для JMS доступно множество ресурсов, потому что это такой старый стандарт.
Надеюсь, это поможет!