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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to