cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simone Gianni <s.gia...@thebug.it>
Subject Javaflow in 2.2 and the continuation class loader
Date Tue, 01 Aug 2006 16:18:47 GMT
Hi there,
we (me and Maurizio) are trying to use javaflow in 2.2, which uses the
new jakarta commons implementation. We see that after a fi.show() the
thread is not blocked at all, since breakpoints placed after the
fi.show() got hit before the page displayed, and we can clearly see code
executed even before we hit the submit button.

In the new jakarta implementation there are two ways to enhance a class
for continuations, either with a ant task, or with a classloader as it
was in 2.1 javaflow implementation.

Currently in 2.2 javaflow there is no mention of the
ContinuationClassLoader, nor there is a ClassLoader subclass or anything
similar, so seems like the only way to achieve continuations is to build
the classes using the ant task to enhance them.

This is okay from a certain point of view, since a "static" enhancement
performs better, but it is a pain since in 2.2 we don't use ant anymore,
so the webapp developer should write an ant-run in his pom to enhance
classes he needs in javaflow. This also prevents any kind of future
compling classloader or similar stuff to do RAD on javaflow.

Is this a known and desired behaviour or we are missing something?
Shouldn't be there a CocoonContinuationClassLoader that mimics the
jakarta common ContinuationClassLoader behaviour but enhancing classes
that extends AbstractContinuable?

BTW, the default ContinuationClassLoader of jakarta commons has many
drawbacks for which is not suitable for cocoon javaflow :
- It must be configured with jar urls, which is not acceptable in a
webapplication.
- It uses BCEL by default, while ASM seems to be better, wasn't it?
- It has no way to detect which classes are to be enhanced and which are
not, if not specifying package prefixes, which is error prone and not
handy in cocoon, since we have the AbstractContinuable class to mark
classes that must be enhanced.

Simone

-- 
Simone Gianni

Mime
View raw message