Hi Enke,

> From: Enke Michael [mailto:[EMAIL PROTECTED]]
> 
> Hi people,
> as we have a default Buffer of 8192 byte in the AbstractTextSerializer
> sometimes it takes very long until any result is visible in the
browser.

It is configurable in the sitemap.xmap (or cocoon.xconf in latest CVS).
Use 
 <buffer-size>512</buffer-size>
parameter to specify buffer size you want.


> Therefore I introduced an "OutputFlusher" which flushes the
> BufferedOutputStream
> per default every 500 ms. Now the pageheader is shown immediately,
independent
> of how long it takes to fill 8192 byte.

There is one issue with solution you are proposing: It uses one thread
per serializer in the system. It is not very efficient; better solution
is to use just one thread to manage all buffers. Such manager is already
implemented in the Avalon, class ActiveMonitor, and can be applied to
the monitoring multiple output streams. See avalon.excalibur.monitor
package. And this monitor already declared in the cocoon.xconf - so it
is ready to use.


> I hope this helps.
> I prepared AbstractTextSerializer to get the time in milliseconds
> from cocoon.xconf, the name is "flush-time", default is 500, values
below 100
> are set to 100, value of 0 means no flushing.
> But I have no idea how to setup, what to put in cocoon.xconf.

Take a look at the AbstractTextSerializer's configure() method, and
follow the code for the buffer-size parameter.


> Do I have to put AbstractTextSerializer into cocoon.roles???

No, there is no need.

Regards,
Vadim



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to