cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Shahriar Aghajani <aghaj...@principle.com>
Subject Re: Database Connection Leak - When too many pipelines
Date Fri, 12 Feb 2010 21:43:48 GMT
Thanks Paul.

I'm not certain, but it doesn't look like i'm using commons-dbcp.

I think the spring DriverManagerDataSource is replacing it in this case?

Below is what I'm using for my connector:

Cheers.
 
   <bean 
name="org.apache.avalon.excalibur.datasource.DataSourceComponent/workshop_admin" 
class="org.apache.cocoon.databases.bridge.spring.avalon.SpringToAvalonDataSourceWrapper">

        <property name="wrappedBean">
            <bean 
class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
              <property name="driverClassName" 
value="org.postgresql.Driver"/>
              <property name="url" value="jdbc:postgresql:mydatabase"/>
              <property name="username" value="myusername"/>
              <property name="password" value="mypassword"/>
            </bean>
        </property>

    </bean>



Paul Joseph wrote:
> I vaguely recall having this problem in Cocoon 2.1.11 and that it 
> seemed to go away when I replaced my commons-dbcp jar with the latest 
> I could find (commons-dbcp-1.2.2.jar)
>
> Shahriar Aghajani wrote:
>> Hello,
>>
>> I wonder if anybody can help me or point me in the right direction.
>>
>> I get database connection leaks if I'm including pipelines which 
>> reference other pipelines too many times.
>>
>> I'm using Cocoon 2.2
>> PostgreSQL 8.3 with postgresql-8.3-605.jdbc3.jar
>>
>> Here's what I got:
>>
>> Data comes from the parent sitemap, and the child sitemap uses that 
>> data.
>> I've tried including the data using map:aggregate, XInclude, Include, 
>> and XSLT/document()... all lead to the leaks one way or another.
>> For each of the "bad" piplines, I get a new idle postgres connection 
>> hanging around indefinitely.
>>
>> Below,
>> for the via-agg.xml pipeline, the 3rd include does the job.  If I 
>> remove that one, then I don't get a leak.
>> for the via-include.xml pipeline, if I use only one of the "CULPRIT" 
>> includes, everything is fine.  But if I use any 2 of the includes, 
>> then I get a leak.
>>
>> Any ideas?
>>
>>
>> Thank you very much for your help.
>>
>> Regards,
>> Shahriar Aghajani.
>>
>>
>> Parent Sitemap:
>>
>> <map:match pattern="data/first-level.xml">
>>   <map:generate type="jx" src="wires/sql/first-level.select.jx"/>
>>   <map:transform type="sql">
>>      <map:parameter name="use-connection" value="workshop_admin"/>
>>   </map:transform>
>>   <map:serialize type="xml"/>
>> </map:match>
>>
>> <map:match pattern="data/second-level.xml">
>>   <map:generate type="jx" src="wires/sql/first-level.select.jx"/>
>>   <map:transform type="sql">
>>      <map:parameter name="use-connection" value="workshop_admin"/>
>>   </map:transform>
>>   <map:transform src="wires/sql/first-level.xml.xsl"/>
>>   <map:serialize type="xml"/>
>> </map:match>
>>       <map:match pattern="data/secondB-level.xml">
>>   <map:generate  src="cocoon:/data/first-level.xml"/>
>>   <map:transform src="wires/sql/first-level.xml.xsl"/>
>>   <map:serialize type="xml"/>
>> </map:match>
>>
>> <map:match pattern="sub/**">
>>   <map:mount check-reload="yes" src="sub/" uri-prefix="sub"/>
>> </map:match>
>>
>>
>> Sub Sitemap:
>>
>> <map:match pattern="local-data/first-level.xml">
>>   <map:generate src="cocoon://data/first-level.xml"/>
>>   <map:serialize type="xml"/>
>> </map:match>
>> <map:match pattern="local-data/second-level.xml">
>>   <map:generate src="cocoon://data/first-level.xml"/>
>>   <map:transform src="../wires/sql/first-level.xml.xsl"/>
>>   <map:serialize type="xml"/>
>> </map:match>
>>
>>
>>
>> <map:match pattern="via-agg.xml">
>>   <map:aggregate element="page">
>>      <map:part src="cocoon://data/first-level.xml"/>
>>      <map:part src="cocoon://data/second-level.xml"/>
>>      <map:part src="cocoon://data/secondB-level.xml"/>   <!-- TOOOO 
>> MUCH -->
>>   </map:aggregate>
>>   <map:serialize type="xml"/>
>> </map:match>
>>
>>
>> <map:match pattern="via-include.xml">
>>   <map:generate src="seed-file.xml"/>
>>   <map:transform type="include"/>
>>   <map:serialize type="xml"/>
>> </map:match>
>>
>>
>> Seed File:
>>
>> <page xmlns:i="http://apache.org/cocoon/include/1.0">
>>
>>   <data>
>>      <i:include src="cocoon://data/first-level.xml"/>
>>      <i:include src="cocoon://data/second-level.xml"/>
>>      <i:include src="cocoon://data/secondB-level.xml"/>   <!-- 
>> CULPRIT -->
>>      <i:include src="cocoon:/local-data/first-level.xml"/>    <!--- 
>> CULPRIT -->
>>      <i:include src="cocoon:/local-data/second-level.xml"/>  <!-- 
>> CULPRIT -->
>>   </data>
>>
>> </page>
>>
>>
>>
>>
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>> For additional commands, e-mail: users-help@cocoon.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message