Как реализовать очередь для запросов в рамках сервиса?
Здравствуйте. Мне нужно реализовать логику, при которой выполнении определенного метода будет происходить через очередь. У меня есть определенный пул объектов размера N, и каждый раз, когда пользователь ходит в метод, оттуда извлекается 1 объект на какое-то время, а затем кладется обратно. В теории возможна такая ситуация, при которой объектов в пуле может не оказаться и соответственно выполнение логики будет невозможным. Для такого случая будет логичным сделать какую-либо очередь, в которую будут помещаться запросы и в которой они будут дожидаться освобождения объектов в пуле. Как сделать такую очередь асинхронной? В какую сторону копать?
Пробовал гуглить, но мне предлагаю делать очередь для всех запросов без исключения, но это не совсем ложиться на мою логику, т.к. выполнение запросов при достаточном количестве объектов в пуле возможно и в обход очереди
Может быть такие фреймворки, как psring Quartz или Spring Batch будут вам полезны в данном случае? не уверен, что это то, что нужно, ибо описана не вся задача, но все же...