struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Zoio <philz...@realsolve.co.uk>
Subject Some comments & questions on Struts 1.3 chain & Strecks
Date Thu, 08 Jun 2006 19:39:58 GMT

I've been working on adding support in Strecks 
(http://strecks.sourceforge.net/) for the chained request processor, 
that is, ComposableRequestProcessor. On the whole, the job has been 
pretty straightforward. I have had to tweak a couple of the interfaces 
so that they map one to one with Commons Chain command classes. The idea 
is that you can still use the standard RequestProcessor, whether with 
1.2 or 1.3. The idea is that you will still be able to use Strecks with 
1.2. However, if you use 1.3, you can take advantage of the chained 
request processor and enable Strecks simply by providing an alternative 
commons chain configuration.

I have a couple of questions/thoughts/observations that have arisen:
- the chain configuration appears to apply across the application as a 
whole rather than per module. This differs from the 1.2 request 
processor which can be varied/subclassed on a per module basis. (Of 
course, you can still subclass RequestProcessor on a per-module basis, 
but the whole point of the chain is that you should not need to do that)
- the chain seems to be quite good at allowing you to vary the request 
processing flow. It is more difficult to apply configuration or make 
services accessible to groups of commands in the chain. One way I can 
see to do this is by subclassing ComposableRequestProcessor (not that 
old chestnut again), overriding init(ActionServlet,ModuleConfig), then 
adding the relevant services to the chain context, using 
getApplicationScope().put(...). Another way, apparently, would be to 
load the configuration in the constructor or synchronized block of one 
of the chain commands, then use getApplicationScope().put(). It would be 
nice if you could configure chain commands using some form of dependency 
injection, a la Spring, and allow these services to be added via the 
chain config file. (I suppose I should be addressing this to the chain 
developers mailing list, although I suspect that most of the chain 
developers are on this list as well).

Also - when is Struts 1.3 expected to go GA?

Regards,
Phil Zoio
http://www.realsolve.co.uk/







---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Mime
View raw message