Закрыть OracleConnectionPoolDataSource
От: frёёm Россия  
Дата: 01.09.08 09:00
Оценка:
Господа подскажите, использую OracleConnectionPoolDataSource в коде напрямую.
            _dataSource=new OracleConnectionPoolDataSource();
            _dataSource.setConnectionProperties(_connectionProperties);
            _jdbc=new JdbcTemplate(_dataSource);


Но в какой то момент может понадобится закрыть и переинициализировать все соединения...
Проблема в том что ни как не могу найти метода освобождающего ресурсы и закрывающего все соединения.
У apache DBCP такой метод например есть...
Никто не подскажет ?
Ни что в жизни ни даёться так просто как... хотелось бы...
oracleconnectionpooldatasource close shutdown
Re: Закрыть OracleConnectionPoolDataSource
От: Blazkowicz Россия  
Дата: 01.09.08 09:03
Оценка:
Здравствуйте, frёёm, Вы писали:

ёё>Но в какой то момент может понадобится закрыть и переинициализировать все соединения...

ёё>Проблема в том что ни как не могу найти метода освобождающего ресурсы и закрывающего все соединения.
ёё>У apache DBCP такой метод например есть...

Разве там нет метода close()?
Re[2]: Закрыть OracleConnectionPoolDataSource
От: frёёm Россия  
Дата: 01.09.08 09:16
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Разве там нет метода close()?


У OracleConnectionPoolDataSource такого нету =(( это и смущает...
Ни что в жизни ни даёться так просто как... хотелось бы...
Re[3]: Закрыть OracleConnectionPoolDataSource
От: Blazkowicz Россия  
Дата: 01.09.08 09:22
Оценка:
Здравствуйте, frёёm, Вы писали:

B>>Разве там нет метода close()?

ёё>У OracleConnectionPoolDataSource такого нету =(( это и смущает...

Ну, не верится, и всё тут!
http://www.rakeshv.org/docs/oracle/jdbc3.0/oracle/jdbc/pool/OracleDataSource.html#close()
Re[4]: Закрыть OracleConnectionPoolDataSource
От: frёёm Россия  
Дата: 01.09.08 10:02
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Ну, не верится, и всё тут!

B>http://www.rakeshv.org/docs/oracle/jdbc3.0/oracle/jdbc/pool/OracleDataSource.html#close()

Судя по всему метод был добавлен только в реализации под jdbc3.0
потому как в jdbc2.0 его нет
http://docs.rakeshv.org/oracle/java1.2/index.html

Найти реализацию драйвера под jdbc3.0 мне найти не удалось.
Драйвер оракла я скачал от сюда http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
ojdbc14.jar который походу соответствует jdbc2.0

jdbc3.0 при этом так же не имеет такого метода javax.sql.ConnectionPoolDataSource

Кароче мистика...

Так можно как то по людски ручками прибить не нужный пул соединений ?
Ни что в жизни ни даёться так просто как... хотелось бы...
Re[5]: Закрыть OracleConnectionPoolDataSource
От: sef  
Дата: 01.09.08 10:24
Оценка:
ёё>Кароче мистика...
ёё>Так можно как то по людски ручками прибить не нужный пул соединений ?


= null;

?
Re[6]: Закрыть OracleConnectionPoolDataSource
От: Blazkowicz Россия  
Дата: 01.09.08 10:25
Оценка:
Здравствуйте, sef, Вы писали:

sef>
sef>= null;
sef>

sef>?
И где гарантии что все физические соединения при этом будут корректно закрыты?
Re[5]: Закрыть OracleConnectionPoolDataSource
От: Blazkowicz Россия  
Дата: 01.09.08 10:29
Оценка:
Здравствуйте, frёёm, Вы писали:

ёё>ojdbc14.jar который походу соответствует jdbc2.0


Наткулся в одной доке, что при вызове Connection.close() в jdbc2.0 DataSource закрывается именно физическое соединение. Отсюда выходит и надобность в классе PooledConnection.
Re[7]: Закрыть OracleConnectionPoolDataSource
От: sef  
Дата: 01.09.08 10:32
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, sef, Вы писали:


sef>>
sef>>= null;
sef>>

sef>>?
B>И где гарантии что все физические соединения при этом будут корректно закрыты?
нет гарантии. но на безрыбье и сам раком.. и я исхожу из того, что, по хорошему, коннект надо сразу закрывать после использования, если не нужен более. с пулом это работает на ура.
Re: Закрыть OracleConnectionPoolDataSource
От: dshe  
Дата: 01.09.08 11:35
Оценка:
Здравствуйте, frёёm, Вы писали:

ёё>Господа подскажите, использую OracleConnectionPoolDataSource в коде напрямую.

ёё>
ёё>            _dataSource=new OracleConnectionPoolDataSource();
ёё>            _dataSource.setConnectionProperties(_connectionProperties);
ёё>            _jdbc=new JdbcTemplate(_dataSource);
ёё>


ёё>Но в какой то момент может понадобится закрыть и переинициализировать все соединения...

ёё>Проблема в том что ни как не могу найти метода освобождающего ресурсы и закрывающего все соединения.
ёё>У apache DBCP такой метод например есть...
ёё>Никто не подскажет ?

Уверен, что тебе нужен OracleConnectionPoolDataSource а не OracleConnectionCacheImpl?

http://andrej.racchvs.com/archives/2003/10/21/a-pooledconnection-is-not-a-pool-of-connections/
A PooledConnection is not a pool of connections
--
Дмитро
Re[2]: Закрыть OracleConnectionPoolDataSource
От: frёёm Россия  
Дата: 01.09.08 12:21
Оценка:
Здравствуйте, dshe, Вы писали:

D>Уверен, что тебе нужен OracleConnectionPoolDataSource а не OracleConnectionCacheImpl?


D>http://andrej.racchvs.com/archives/2003/10/21/a-pooledconnection-is-not-a-pool-of-connections/

D>A PooledConnection is not a pool of connections

Мде похоже на то...
Смутило слово Cache...

И ещё не вот эта запись

Which connection cache should I use, OracleConnectionCacheImpl or the new Implicit connection cache?

You should use the new Implicit connection caching mechanism. This new connection caching mechanism is driver independent. It provides access to connection caching via OracleDataSource, and supports a number of new features such as

Note that the old connection cache, OracleConnectionCacheImpl, is deprecated and will be desupported in the next major release.


Но описание этого самого Implicit connection cache найти так и не удалось...

Я уже подумываю будет проще прекрутить суда апачевский dbcp...
Ни что в жизни ни даёться так просто как... хотелось бы...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.