Я пытаюсь создать пул каналов/подключений к серверу очередей и пытался использовать ObjectPool, но у меня возникли проблемы с его использованием из примера на их сайт.
Пока у меня есть потоки, которые работают, но я хочу, чтобы каждый из них захватывал канал из пула, а затем возвращал его. Я понимаю, как это использовать (заимствованиеобъекта/возвратаобъектов ), но не знаю, как создать исходный пул.
Вот как создаются каналы в rabbitmq:
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
и мой код просто использует канал, чтобы делать разные вещи. Я в замешательстве, потому что единственный пример, который я смог найти (на их сайте ), начинается так :
private ObjectPool pool;
public ReaderUtil(ObjectPool pool) {
this.pool = pool;
}
, что для меня не имеет смысла. Я понял, что это обычное дело для установления соединений с базой данных, поэтому я попытался найти учебные пособия по базам данных и ObjectPool, но они, похоже, используют DBCP, специфичный для баз данных (, и я не могу использовать логику для своего сервера очередей )..
Любые предложения о том, как его использовать? Или есть другой подход, используемый для пулов в java?