Hi Fred,
> At a minimum, the user should get slapped -- and hard -- for
> conjuring up an ambiguous configuration. In no case would I
> argue should it pass. That is, there should be no knobs to
> turn this "fail safe" behaviour.
>
Agreed.
> <missile:conduit id="{http://www.us.military.gov}ICBM">
> <missile:behavior action="hold"/>
> </missile:conduit>
> <missile:conduit id="{http://www.us.military.gov}*">
> <missile:behavior action="launch"/>
> </hmissile:conduit>
Just in case the above causes confusion, the wildcard must start with
'*'.
They are applied before a possible full match.
So the following is valid from a config perspective:
<!-- Default wildcard behaviour, hold all ICBM -->
<missile:conduit id="*ICBM">
<missile:behavior action="hold"/>
</missile:conduit>
<!-- Launch this specific instance -->
<missile:conduit id="{http://www.us.military.gov}ICBM">
<missile:behavior action="launch"/>
</missile:conduit>
The config error would apply with the addition of a second wildcard,
say:
<missile:conduit id="*.gov}ICBM">
<missile:behavior action="hold"/>
</missile:conduit>
Currently this is flagged as a warning, it should be an error. In the
case of multiple config sources it provides scope for mis-configuration
or non determinism and potential slaps :-).
Thanks,
Gary.
>
> On May 3, 2007, at 11:32 AM, Tully, Gary wrote:
>
> > A fail fast approach will necessitate aborting bus initialisation,
> > spring will do that if there are duplicate bean ids so I
> guess it is
> > the correct approach. What do you think?
>
>