Joe,

Yes, I seem to pick up this issue every two weeks, and coming back to it again.

After reading your answers again and delving into the source code, I think I understand the mechanism pretty well. The problem for me is that Commons Chain does not seem to have an override capability.

A couple of examples:
- if you want to use Tiles, you need to either a) uncomment the tiles entry in the default chain config or b) use the replacement tiles chain config file. IMO, you should be able to add Tiles support by specifying an additional config file containing only the entries needed to support tiles. The main config file should be designed to allow entries to be easily overridden or enhanced. A similar mechanism works very well in Spring - the way you replace/override existing beans using bean entries with the same name in a subsequent config file. - if you want to have different chains per module, you'd seem need a lot of repeating definitions. I think the result could be pretty verbose, again because of the apparent absence of an override mechanism. Also, I do think you would be better off having different sets of chain instances per module (ie one per ComposableRequestProcessor instance).

The background of all this is that I'm trying to fine tune the way that Strecks supports Struts 1.3.x (which is now present in Strecks 1.0 beta 3). I'm configuring 1.3 support entirely via chain commands, so it would make a big difference if this was easy, especially in allowing for different configurations per module.

The bigger question which is lurking in my mind is whether there is a real actual (as against hypothetical) benefit to be gained from the 1.3 chain request processor. If the chain was easy to configure, it would be a no-brainer, but if configuration is not easier, then the advantages are much less clear.

Phil




Joe Germuska wrote:

At 9:07 AM +0100 6/30/06, Phil Zoio wrote:

Joe,

Could Struts 1.3 set up to have a separate chain per module?



Phil: I thought we discussed this two weeks ago. In short, the answer is "yes". Looking back at what I wrote, perhaps I gave too much detail at the wrong time. Here is the core of it:

 >>> It is technically possible to change which command is looked up in

 the catalogs and executed to process the request as part of the

 >>> controller-config on  per-module basis.


For context, Struts uses commons-chain code to instantiate a universe of catalogs which contain commands. You'd use the <controller> to specify the name of a catalog and the name of a command within that catalog which is to be executed to process the request. Therefore, you could specify different "bootstrap" commands for each controller until you turn blue.

Joe




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

Reply via email to