commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanjeet Joshi <sanjeetjo...@gmail.com>
Subject Re: [DBCP] Servlets sharing a DataSource
Date Mon, 07 Mar 2005 12:45:05 GMT
Hi,

Just get it everytime you need it by calling Action.getDataSource(..) 
because Struts framework itself stores it in the ServletContext. Don't 
repeat it again in you code.

Cheers
Sanjeet 



On Mon, 7 Mar 2005 14:33:43 +0200, Dipole Moment
<dipole.moment@gmail.com> wrote:
> Hi all,
> 
> I've been researching what's the best way of sharing a DataSource
> between servlets with DBCP, and I've come up with the following
> scenario:  I implement a ServletContextListener and obtain a
> DataSource in contextInitialized() method and put it as an attribute
> in ServletContext
> 
>         Context env = null;
>         DataSource pool;
>         env = (Context) new InitialContext().lookup("java:comp/env");
>         pool = (DataSource) env.lookup("jdbc/postgres");
>         context.setAttribute("POOL", pool);
> 
> and then every servlet that wants to execute a query, looks up the
> POOL attribute and does a getConnection() on it, creates a statement
> and does its job...
> 
>         pool = (DataSource) context.getAttribute("POOL");
>         conn = pool.getConnection();
>         stmt = conn.createStatement();
>         ...
> 
> My questions are as follows: is the above usage valid, thread-safe?
> Are there any better ways of doing it?  And in case of DataSource, I
> could not find a method for it that closes it so that I could call it
> in contextDestroyed() method of the ServletContextListener, is it ok
> to shutdown application without doing any sort of a "close()" on
> DataSource?
> 
> Thanks!
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org
> 
>

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message