我正在尝试创建一个到队列服务器的通道/连接池,并尝试使用 ObjectPool,但在他们网站上的示例中使用它时遇到了问题。
到目前为止,我有线程可以工作,但我希望每个线程都从池中获取一个通道,然后返回它。我了解如何使用它(borrowObject/returnObjects),但不确定如何创建初始池。
以下是在 rabbitmq 中创建通道的方式:
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
我的代码只是使用通道来做事。我很困惑,因为我能找到的唯一例子(在他们的网站上)是这样开始的:
private ObjectPool<StringBuffer> pool;
public ReaderUtil(ObjectPool<StringBuffer> pool) {
this.pool = pool;
}
这对我来说没有意义。我意识到这对于建立数据库连接很常见,所以我尝试查找使用数据库和 ObjectPool 的教程,但它们似乎使用特定于数据库的 DBCP(而且我似乎无法使用我的队列服务器的逻辑)。
关于如何使用它的任何建议?还是有另一种方法用于java中的池?