cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Olivier Billard <obill...@rennes.jouve.fr>
Subject Re: Avalon-Component and pooling
Date Tue, 03 Feb 2004 13:21:46 GMT
In addition, AFAIK the initialize method is only called once during the like of the 
component, so once recycled, your component won't get a fresh connection...

You can use initialize() in combination with dispose().
Get and release a connection shouldn't cost a lot, since excalibur don't really close 
connections when released, as Sylvain Wallez answered to me some time ago [1]. The 
connection you get is only a wrapper around the real connection.

[1] : http://marc.theaimsgroup.com/?t=106560733600001&r=1&w=4

--
Olivier


On 02/02/2004 19:38, Stephan Coboos wrote:

> Hello,
> 
> in my avalon component I'am retrieving a datasource object and from that 
> I'am getting a connection object. My component has several methods and 
> some of them are communicating together. Like the following:
> 
> public Object methodA() {
> 
>   // Here connection will be used...
>   return new Object();
> }
> 
> public void methodB() {
> 
>   // Here connection will be used...
>   this.methodA();
> }
> 
> ....
> 
> So how to share connections between the methods?
> 
> The first (bad) idea is to create a new Connection each time a new 
> Method is started:
> 
> public void method() {
> 
>   try {
>      Connection con = this.datasource.getConnection();
>      ...
>   } catch(SQLException ex) {
>      // Do something
>   } finally {
>      con.close();
>   }
> }
> 
> Another idea is to implement the interfaces Initializable and Recyclable 
> and creating in method initialize() the connection and returning it back 
> to the pool in recycle(). What do you think about that?
> 
> But there is one problem: What happens if an exception occures which was 
> not catched? Like a ParameterException or a NullPointer? How to return 
> the connection clear back to the pool?
> 
> Is there a best practice way?
> 
> Thank you!
> 
> Regards
> Stephan


-- 
Olivier BILLARD


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message