You must get the jar of "Pool" and "Collections" from the jakarta commons subproject and put them in common/lib
http://jakarta.apache.org/commons/index.html I test this solution of connection poolling and found some problems, when i stop/start the SGBD connections aren't well recreate (broken pipe ...) the Exceptions don't lift (when there is a bad configuration to connect the db ...). Olivier > -----Message d'origine----- > De: Steven Elliott [SMTP:[EMAIL PROTECTED]] > Date: lundi 25 mars 2002 12:29 > �: [EMAIL PROTECTED] > Objet: DBCP, Pool and Collections - Further thoughts > > In my servlet I changed the Datasource reference to a BasicDataSource > reference. Now when I try to lookup the BasicDataSource with the > following > call: > BasicDataSource bds = (BasicDataSource) > envCtx.lookup("jdbc/EmployeeDB"); > > I get the same error reported in my previous post but with a Root Cause > now > thrown in: > > ----- Root Cause ----- > java.lang.NoClassDefFoundError: org/apache/commons/pool/ObjectPool > at > org.apache.commons.dbcp.BasicDataSourceFactory.getObjectInstance(Unknown > Source) > at > org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactor > y. > java:165) > at > javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) > at org.apache.naming.NamingContext.lookup(NamingContext.java:835) > at org.apache.naming.NamingContext.lookup(NamingContext.java:181) > at org.apache.naming.NamingContext.lookup(NamingContext.java:822) > at org.apache.naming.NamingContext.lookup(NamingContext.java:194) > at AdminLogin.chkIn(AdminLogin.java:72) > at AdminLogin.doGet(AdminLogin.java:32) > at AdminLogin.doPost(AdminLogin.java:56) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.ja > va > :446) > at > org.apache.catalina.servlets.InvokerServlet.doPost(InvokerServlet.java:216 > ) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati > on > FilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter > Ch > ain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve. > ja > va:243) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 66) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472 > ) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. > ja > va:190) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 66) > at > org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java > :2 > 46) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 64) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472 > ) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1 > 80 > ) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 66) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValv > e. > java:170) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 64) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:1 > 70 > ) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 64) > at > org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 64) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472 > ) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja > va > :174) > at > org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java > :5 > 66) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472 > ) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) > at > org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.jav > a: > 1012) > at > org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:11 > 07 > ) > at java.lang.Thread.run(Thread.java:496) > > If I could get the BasicDataSource reference I could invoke the > setLogWriter() method to try and get some more meaningful output but I > can't > even seem to reference the BasicDataSource. > > Craig do you have any ideas what the problem may be? All three jars > (commons-collections, commons-pool and commons-dbcp) are in > $CATALINA_HOME/common/lib. If I use the standard Tomcat 4.0.3 DataSource > factory with my servlet everything works as it should. So I am at a loss. > > ?? > > Steven > > > -- > To unsubscribe: <mailto:[EMAIL PROTECTED]> > For additional commands: <mailto:[EMAIL PROTECTED]> > Troubles with the list: <mailto:[EMAIL PROTECTED]>
