cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Roger I Martin PhD" <hypernex...@hypernexinc.com>
Subject Re: no connections in the pool
Date Mon, 07 Jan 2002 18:08:41 GMT
Is anyone else testing database driven web content with the latest cvs cocoon HEAD?  It is
starting to frustrate me that what was fairly easy to get up and running before is now making
me struggle.

See dispersed comments.

----- Original Message ----- 
From: "Berin Loritsch" <bloritsch@apache.org>
To: <cocoon-dev@xml.apache.org>
Sent: Monday, January 07, 2002 9:28 AM
Subject: Re: no connections in the pool


> Roger I Martin PhD wrote:
> 
> > The current cvs of Cocoon2 produces the exception
> > 
> >  
> > 
> > Original exception : java.lang.RuntimeException: Could not get the 
> > datasource 
> > org.apache.avalon.excalibur.datasource.NoAvailableConnectionException: 
> > There are no connections in the pool, check your settings.
> 
> 
> 
> is your Driver loaded?
> 
After firing up tomcat and the webapp the mm.mysql-2.0.4-bin.jar is not possible to delete
because it is in use.  I have tried hsqldb and M$ Access databases and get the same exception.
I've looked at the table of contents of the mm.mysql-2.0.4-bin.jar and the driver is there.

> Are you using the <driver>oracle.jdbc.driver.OracleDriver</driver> tag
> in the configuration?  Is the driver jar in the WEB-INF/lib directory?
> Does the jar have a ".jar" extension?
> 

The deployed cocoon.xconf has the following datasources defined.

<datasources>
<jdbc name="HWITCD">
<driver>org.gjt.mm.mysql.Driver</driver>
<pool-controller min="5" max="10"/>
<!--auto-commit>false</auto-commit-->
<dburl>jdbc:mysql:///WITCD</dburl>
<user>user</user>
<password>password</password>
</jdbc>
</datasources>

and the M$ Access version is 

<datasources>
<jdbc name="HWITCD">
<driver>sun.jdbc.odbc.JdbcOdbcDriver</driver>
<pool-controller min="5" max="10"/>
<!--auto-commit>false</auto-commit-->
<dburl>jdbc:odbc:Materials</dburl>
<user></user>
<password></password>
</jdbc>
</datasources>

when I deploy with it.

The stack trace starts with:

Original exception : java.lang.RuntimeException: Could not get the datasource org.apache.avalon.excalibur.datasource.NoAvailableConnectionException:
There are no connections in the pool, check your settings. 
at org.apache.cocoon.www.dba.material_xsp.generate(material_xsp.java:281) 
at org.apache.cocoon.generation.ServerPagesGenerator.generate(ServerPagesGenerator.java:229)

at org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEventPipeline.java:210)

at org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingStreamPipeline.java:358)

at org.apache.cocoon.www.sitemap_xmap.wildcardMatchN103F1(sitemap_xmap.java:6218) 
at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2850) 
at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java:2411) 
at org.apache.cocoon.sitemap.Handler.process(Handler.java:171) 
at org.apache.cocoon.sitemap.Manager.invoke(Manager.java:115) 
at org.apache.cocoon.sitemap.SitemapManager.process(SitemapManager.java:144) 
at org.apache.cocoon.Cocoon.process(Cocoon.java:605) 
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:795) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
...

The java source is generated in the tomcat work directory and compiles successfully.


> The most common cause for this is that the server is not finding the
> class.  Some Servlet Containers do not load jars that do not have the
> ".jar" interface.  You either need to place the driver jar in the
> WEB-INF/lib directory or in $JAVA_HOME/jre/lib/ext directory.  You cannot
> ever assume that classes loaded by the server are accessible by the webapps.
> 
I've cvs'ed a brand new xml-cocoon2 everyday over the last few weeks and excalibur was changing
and the logkit had some bugs so I am inclined to think there is a bug occuring in excalibur
too.

When a driver is not suitable(not loaded) then java.sql will catch a stack like this:

java.sql.SQLException: No suitable driver
        at java.sql.DriverManager.getConnection(DriverManager.java:535)
        at java.sql.DriverManager.getConnection(DriverManager.java:174)
...
which is more meaningful than the above excalibur NoAvailableConnectionException. Does this
excalibur exception encompass more than one possible action that can throw it?


Regards,

Roger








 

Mime
View raw message