cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Grzegorz Kossakowski <gkossakow...@apache.org>
Subject Re: Pipeline components and Object Model issues
Date Wed, 15 Aug 2007 09:38:39 GMT
Carsten Ziegeler pisze:
> We should first think of the intended behaviour and then think of the
> implementation.
> I would expect that the ObjectModel stays the same during one single
> request which might end up to be served through a pipeline consisting of
> several pipeline components.
> If a sub request is started (internal call through one of our protocols)
> this gets a new object model which might inherit the values from the
> parent or not - this is something we have to decide.

I expressed my view on ObjectModel sharing between subrequests in "[RT] The big picture of
Servlet 
Service Framework" mail[1]. It was when I discussed statelessness.

> So, technically speaking, we might end up with more than one ObjectModel
> per thread when sub requests are involved. The problem now is the
> possible sax streaming from a sub request to the parent request where
> the ObjectModel has to be changed on-the-fly.

I don't see why we would have to change Object Model on-the-fly if there are two separate
intances - 
one for subrequest and one for request. Could you give an example?

> While this direct streaming seems to be very cool in terms of
> performance, it created so many problems over the past years, that I
> think we should forget about this direct streaming. A sub request writes
> its content to a temporary buffer (being this a byte array or a
> recording of sax streams) and when its finished, the content is streamed
> from this buffer. This allows to change the whole execution context only
> twice. But it creates a clean separation between the request and makes
> implementing things much easier. It also allows to cache sub requests
> completly and directly stream from the cache

Although we have to think about subrequests we need to think about components executed in
the 
original request. As I stated in my first mail I think we need several Object Model instances
even 
if there are no subrequests. It is caused by the fact that components are executed simultaneously

and my very own opinion is we should not try to change this.

I think if we find solution for this we will get solution for subrequests as well.

[1] http://article.gmane.org/gmane.text.xml.cocoon.devel/74571

-- 
Grzegorz Kossakowski
http://reflectingonthevicissitudes.wordpress.com/
*** My Internet Service Provider breaks my internet connection                ***
*** incessantly so I'll not be able to respond to e-mails                     ***
*** regularly and my work will be somehow irregular.                          ***
*** I'm already trying to switch ISP but it will take handful amount of time. ***

Mime
View raw message