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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
