cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cédric Damioli <cedric.dami...@anyware-tech.com>
Subject Re: CVSSource
Date Thu, 21 Apr 2005 16:12:42 GMT
Antonio Fiol Bonnín a écrit :

>Hello,
>
>I am trying to use the CVSSource on Cocoon 2.1.5.
>
>What I tried is adding to cocoon.xconf:
>(1 line context information)
>
>    <component-instance
>class="org.apache.cocoon.components.source.impl.ModuleSourceFactory"
>name="module"/>
>    <component-instance name="cocodoco-cvs"
>class="com.anwrt.cocoon.cvssource.source.CVSSourceFactory">
>      <hostname>cvs.apache.org</hostname>
>      <repository>/home/cvspublic</repository>
>      <module>xml-cocoon2/src/documentation</module>
>      <username>anoncvs</username>
>      <password>anoncvs</password>
>      <!-- optionnal hierarchy refresh period (in seconds, defaults to 600) -->
>      <refresh-period>3600</refresh-period>
>
>      <!-- optionnal commit message expression (sitemap syntax) -->
>      <commit-message-expr>{request-param:cvs-message}</commit-message-expr>
>    </component-instance>
>  </source-factories>
>
>I did this because I did not find a "source-handlers" section.
>
>The problem: StackOverflowException.
>The repeating stack:
>        at org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentManager.java:275)
>        at org.apache.avalon.framework.service.WrapperServiceManager.lookup(WrapperServiceManager.java:107)
>        at org.apache.cocoon.components.modules.input.PropertiesFileModule.service(PropertiesFileModule.java:58)
>        at org.apache.avalon.framework.container.ContainerUtil.service(ContainerUtil.java:182)
>        at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:255)
>        at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
>        at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.addComponent(ExcaliburComponentSelector.java:703)
>        at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:233)
>        at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:240)
>        at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:269)
>        at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
>        at org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(ExcaliburComponentManager.java:276)
>        at org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentManager.java:297)
>        at org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.getNewModuleToken(PreparedVariableResolver.java:192)
>        at org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.<init>(PreparedVariableResolver.java:117)
>        at org.apache.cocoon.components.treeprocessor.variables.VariableResolverFactory.getResolver(VariableResolverFactory.java:103)
>        at com.anwrt.cocoon.cvssource.source.CVSSourceFactory.getVariable(CVSSourceFactory.java:238)
>        at com.anwrt.cocoon.cvssource.source.CVSSourceFactory.configure(CVSSourceFactory.java:209)
>        at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:240)
>        at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:269)
>        at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
>        at org.apache.avalon.excalibur.component.ExcaliburComponentSelector.addComponent(ExcaliburComponentSelector.java:703)
>        at org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:233)
>        at org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:240)
>        at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:269)
>        at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
>        at org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(ExcaliburComponentManager.java:276)
>        at org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentManager.java:297)
>        at org.apache.avalon.framework.service.WrapperServiceManager.lookup(WrapperServiceManager.java:107)
>        at org.apache.excalibur.source.impl.SourceResolverImpl.service(SourceResolverImpl.java:132)
>        at org.apache.avalon.framework.container.ContainerUtil.service(ContainerUtil.java:182)
>        at org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:255)
>        at org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:108)
>        at org.apache.avalon.excalibur.component.ExcaliburComponentManager.lookup(ExcaliburComponentManager.java:234)
>        at org.apache.cocoon.components.CocoonComponentManager.lookup(CocoonComponentManager.java:275)
>
>
>If I understand what is happening, cocoon is trying to initialize
>everything recursively. IOW, the getVariable method of CVSSource needs
>something from the component manager which is not ready until it is
>fully initialized... but what?
>
>Any hints? Thank you very much for your help.
>
>  
>
You guessed correctly ! :-)

IIRC, the guilty component is an InputModule (in your case, 
PropertiesFileModule).
There's also others InputModule (XMLMetaModule ?) trying to lookup a 
SourceResolver, which itself try to initialize CVSSourceFactory, which 
itself needs InputModule (via VariableResolver), etc etc...

Every time I want to use CVSSource in my project, I clean InputModule 
section and all works correctly after that.

Hope that helps,

Cédric

-- 
Cédric Damioli
IS Project Leader
CMS solutions
ANYWARE TECHNOLOGIES
Tel : +33 (0)5 61 00 52 90
Fax : +33 (0)5 61 00 51 46
http://www.anyware-tech.com


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


Mime
View raw message