Jochen Kuhnle wrote:
> Hi,
>
> I get the following Exception when Cocoon processes a request:
>
> org.apache.cocoon.ProcessingException: Unable to remove component from
> automatic release: component not found.
> at
> org.apache.cocoon.components.EnvironmentDescription.removeFromAutoRelease(CocoonComponentManager.java:789)
>
> The component here being the processing pipeline. This happens because
> InvokeContext.getProcessingPipeline adds the pipeline conditionally:
>
> if (this.isBuildingPipelineOnly) {
>
> CocoonComponentManager.addComponentForAutomaticRelease(this.pipelineSelector,
> this.processingPipeline, this.pipelinesManager);
> }
>
> Wheras AbstractProcessingPipeline removes itself unconditionally:
>
> public void release() {
> try {
> CocoonComponentManager.removeFromAutomaticRelease(this);
> } catch (ProcessingException e) {
> ...
> }
> }
>
> Since the Exception occurs with each request, this wastes valuable log
> space ;) So I would like to fix this. The question is, how? The hack
> solution would be to not log the exception. The better solution would be
> to somehow tell AbstractProcessingPipeline if it has to call
> removeFromAutomaticRelease.
>
> But.. Upon digging deeper... This whole automatic release stuff is used
> only once in all of Cocoon -- for the ProcessingPipeline. So maybe there
> is a way to get rid of it completely? Any suggestions?
>
Hmm, I don't get these exceptions - can you point to an example?
Yes, this stuff is only used for the pipelines, we removed it completly
in 2.2 and use a cleaner solution there.
Carsten
--
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/