cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olivier Billard <obill...@rennes.jouve.fr>
Subject Re: Use of a connection in an avalon component
Date Thu, 09 Oct 2003 13:33:21 GMT


On 09/10/2003 15:10, Sylvain Wallez wrote:

> Olivier Billard wrote:
> 
>> Hi all !
>>
>> I wonder how to use a DataSourceComponent and its connection in a 
>> custom cocoon avalon component, that is ThreadSafe, to use all 
>> performance and connection pool used in Cocoon.
>>
>> Should I :
>>  - get a connection via datasource.getConnection() and close() it for 
>> each public method call,
>>  - get a connection in the initialize() method from the interface 
>> Initializable, close() it on the dispose() method from Disposable 
>> interface, and only create a Statement for each public method call ?
>>  - implement another avalon interface, like Runnable, to get/relase 
>> the Connection ?
>>
>> I looked for exemples in the databases block, but the helpers are not 
>> Components. 
> 
> 
> 
> If your component is ThreadSafe, a single instance of it will exist in 
> the whole system. JDBC connections being non thread safe, you *must* get 
> and close them at each call. Don't be afraid to call close(): the 
> connection you get is a wrapper managed by the DataSourceComponent which 
> puts back the real request in the pool for later reuse when close() is 
> called on the wrapper.

by later reuse, do you mean datasource.getConnection() ?

-- 
Olivier



Mime
View raw message