You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by "HALLOWELL,KARL (HP-Cupertino,ex1)" <ka...@hp.com> on 2001/06/04 20:25:39 UTC

[C2] Connection pool problem with SQL

This is a pretty urgent problem for me (and it's conceivable that this is a
bug in soon-to-be beta code). I cannot run the SQL examples in cocoon 2. I'm
using Tomcat 4.0b5, Cocoon 2a7, and Oracle 8i. Here's the problem. When I
attempt to access the esql example, I get the title "A Database Driven XSP
Page" and no content (all other esql examples appear to be broken in the
same way). Examination of the cocoon.log file reveals several exceptions
generated by the org.avalon.excalibur.datasource package (the first
exception isn't one of them). Here's the first exception:

---
DEBUG   41349   [cocoon  ] (HttpProcessor[8080][4]): Making URL -
MalformedURLEx
ception in getURL:
java.net.MalformedURLException: no protocol: /docs/samples/xsp/esql.xsp
        at
org.apache.cocoon.components.url.URLFactoryImpl.getURL(URLFactoryImpl
.java, Compiled Code)

...

---

Then I see:

---
ERROR   53507   [cocoon  ] (HttpProcessor[8080][4]): Could not return
Connection
java.lang.IllegalStateException: You cannot get a Poolable before the pool
is in
itialized
        at
org.apache.avalon.excalibur.pool.DefaultPool.get(DefaultPool.java, Co
mpiled Code)
        at
org.apache.avalon.excalibur.datasource.JdbcConnectionPool.get(JdbcCon
nectionPool.java, Compiled Code)
        at
org.apache.avalon.excalibur.datasource.JdbcDataSource.getConnection(J
dbcDataSource.java, Compiled Code)

...

ERROR   53536   [cocoon  ] (HttpProcessor[8080][4]): Could not get the
datasourc
e
java.sql.SQLException: You cannot get a Poolable before the pool is
initialized
        at
org.apache.avalon.excalibur.datasource.JdbcDataSource.getConnection(J
dbcDataSource.java, Compiled Code)
        at
org.apache.cocoon.www.docs.samples.xsp.esql_xsp.generate(esql_xsp.jav
a, Compiled Code)

...

---

The exception chains are long as usual. I can provide the log file portion
that I'm quoting from.

Here's some of my configuration information.

from web.xml:

---
      <param-name>load-class</param-name>
      <param-value>
        <!-- For IBM WebSphere: -->
        com.ibm.servlet.classloader.Handler

        <!-- For Database Driver: -->
        oracle.jdbc.driver.OracleDriver
      </param-value>
    </init-param>
---

from cocoon.xconf

---
  <datasources>
    <jdbc name="personnel">
      <!--
          If you have an Oracle database, and are using the the
      pool-controller below, you should add the attribute
      "oradb" and set it to true.

      <pool-controller min="5" max="10" oradb="true"/>

      That way the test to see if the server has disconnected
      the JdbcConnection will function properly.
      -->
      <pool-controller min="5" max="10" oradb="true"/>
      <!--
          If you need to ensure an autocommit is set to true or
      false, then create the "auto-commit" element below.

      <auto-commit>false</auto-commit>

      The default is true.
      -->
      <dburl>jdbc:oracle:thin:@xxx.yyy.hp.com:1521:ORCL</dburl>
      <user>scott</user>
      <password>tiger</password>
    </jdbc>
  </datasources>
---

The database URL appears to be correct. I've telneted to the host and port
in question. The URL was copied in mass from a program where it was working.
I've verified the tables and data exist by looking in the database via a
shell. The oracle driver is copied into $TOMCAT_HOME/webapps/cocoon/lib and
appears to be just fine.

I've mentioned that I can't get some of the other SQL examples to run. The
"simple SQL" returns the exception "org.apache.cocoon.ProcessingException:
Failed to execute pipeline.:org.apache.cocoon.ProcessingException: Failed to
execute pipeline.:java.lang.NullPointerException". I seem to recall that
this error appeared before in a sitemap. And the stack trace starts with:

---
org.apache.cocoon.ProcessingException: Failed to execute
pipeline.:java.lang.NullPointerException
	at
org.apache.cocoon.components.pipeline.CachingEventPipeline.process(CachingEv
entPipeline.java, Compiled Code)
	at
org.apache.cocoon.components.pipeline.CachingStreamPipeline.process(CachingS
treamPipeline.java, Compiled Code)
	at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java,
Compiled Code)
	at org.apache.cocoon.www.sitemap_xmap.process(sitemap_xmap.java,
Compiled Code)
	at org.apache.cocoon.sitemap.Handler.process(Handler.java, Compiled
Code)
---

What am I missing? Do you need to see my sitemap (or other config files)?
Thank you very much!


Karl Hallowell                 karl_hallowell@hp.com

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <co...@xml.apache.org>
For additional commands, e-mail: <co...@xml.apache.org>