Hi
I am using apache common DBCP for connectiion pooling in
tomcat. I am working on a web application. Following is the lookup code:-
initContext=new InitialContext();
ds=(DataSource) initContext.lookup("java:comp/env/jdbc/yourrail");
con=ds.getConnection();
if(initContext!=null)
initContext.close();
Every time, when i need a connection object, i am always executing the above code(lookung up for datasource in JNDI tree).
My Question is:-
(1)I have a
servlet as a front controller. If say 10 threads are executing the above code, they all 10
thread get a reference to the same datasource object?(I think they all get the reference to same data source object.)
(2)If it is the same data source object, then
DataSource.getConnection();
is thread safe?(I think it is thread safe. Implementation of DBCP provides that)
(3)If i am getting the same Datasource object after lookup, it would be better to lookup only once, and store this datasource object as attribute in servlet context?
Please validate above queries. Thanks in advance for your support.
Regards
Abhishek Yadav
SCJP5, SCBCD1.3