Мы лицензировали коммерческий продукт (продукт не важен в этом контексте), который ограничен числом одновременно работающих пользователей. Пользователи получают доступ к этому продукту через Spring Controller.
У нас есть N лицензий на этот продукт, и если N + 1 пользователи получают к нему доступ, они получают неприятное сообщение об ошибке о необходимости купить больше лицензий. Я хочу убедиться, что пользователи не видят это сообщение, и предпочел бы, чтобы запросы к продукту просто «помещались в очередь», а не имели фактически доступ к нему пользователей N + 1. Конечно, они предпочли бы, чтобы я приобрел лицензии, поэтому их инструмент не позволит нам сделать это изначально.
Вместо того, чтобы иметь возможность управлять инструментом, я бы хотел ограничить количество одновременных сеансов контроллером, чтобы он никогда не превышал N. Все остальные могут ждать.
Мы используем Spring MVC.
Есть идеи?