cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <cziege...@apache.org>
Subject Re: [cocoon-2.2] Deprecation
Date Wed, 07 Nov 2007 06:50:21 GMT
Grzegorz Kossakowski wrote:
>> Please note, that with 2.2 there is an auto include for per sitemap
>> components which reads configurations from some sub directories. This is
>> a very nice feature which makes packaging very easy :) But perhaps with
>> using blocks this is not that important.
> 
> I agree with you that blocks packaging should be our main focus. However, is the technique
you are
> talking about described somewhere?
Hmm, no, I don't think so :(
I think most of the relevant code is in the SitemapHelper class.

> 
>> I haven't looked at the implementation of the servlet: protocol, but I
>> know the (old) implementation of the cocoon: protocol. One of the main
>> problems are the sax events combined with the required context changes.
>> As sax events are directly send from a cocoon: call to the parent call
>> the context of execution has to change back and forth for each sax
>> events. A lot of things have to change and this was always a place for
>> interesting bugs and errors.
> 
> Is the context really changed for each sax events? I thought that cocoon: protocol creates
some kind
> of derived environment for each cocoon: call and this way (some) separation is assured.
> 
> Can you point me to relevant place?
It's in the SitemapSource. There is a special sax event wrapper which is
placed around the receiving sax handler:
    EnvironmentHelper.createEnvironmentAwareConsumer(consumer)
So for each sax event the environment is changed back and forth.

> 
>> While directly sending sax events seems to provide more performance I
>> actually would not care about this today anymore. The context switch
>> should be done once, the result from the call should be buffered and
>> that's it. But I think the servlet: protocol is doing this already.
> 
> I agree. The servlet: protocol does buffering but it does something more: it serializes
and parsers
> XML each time servlet request is made. This really affects performance and must be changed
but it's
> not that hard and the change would limited to only cocoon-servlet-* modules.
Yepp, I think we should support the extensions of the
HttpServletResponse which we discussed
a long time ago and which can be found in the processor module of our
whiteboard.
The buffering could be a recording of sax events with the sax buffer.

Carsten


-- 
Carsten Ziegeler
cziegeler@apache.org

Mime
View raw message