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]>

Reply via email to