Посмотрите на следующий код. 1. Я создаю пул подключения к stardog
2. Получение подключения из пула. 3. Возврат соединения к пулу после использования.Что произойдет, если я закрою соединение из пула подключений stardog
Мой вопрос заключается в том, что произойдет, если я сделаю aConn.close()
вместо того, чтобы вернуться в бассейн.
ConnectionConfiguration aConnConfig = ConnectionConfiguration
.to("testConnectionPool")
.credentials("admin", "admin");
ConnectionPoolConfig aConfig = ConnectionPoolConfig
.using(aConnConfig)
.minPool(10)
.maxPool(1000)
.expiration(1, TimeUnit.HOURS)
.blockAtCapacity(1, TimeUnit.MINUTES);
// now i can create my actual connection pool
ConnectionPool aPool = aConfig.create();
// if I want a connection object...
Connection aConn = aPool.obtain();
// now I can feel free to use the connection object as usual...
// and when I'm done with it, instead of closing the connection,
//I want to return it to the pool instead.
aPool.release(aConn);
// and when I'm done with the pool, shut it down!
aPool.shutdown();
, что happends если я закрываю соединение, aConn.close();
Основная причина, почему я спрашиваю, когда я использую соединение в любых классах я не имею объект пула сделать aPool.release(aConn);
ли это рекомендуется делать . Будет ли это испортить использование пула.
спасибо, Это дает четкую идею. –
Примите ответ, чтобы другие знали, что это правильная информация. – Michael
Пул, поддерживающий закрытое соединение, создаст любые другие проблемы? например, если запрос другого класса для подключения и пула обеспечивает закрытое соединение, и это закончится закрытым исключением. –