A was also wondering whether any thought had been given to representing the handler-endpoints and handler using contained elements like:
While more verbose than the config immediately above, it his seems to make the distinction between endpoint and handler much clearly. The handler endpoint is only concerned with input/output channels while the contained handler/router/splitter element defines the handler to invoke.
<router ref="drinkRouter" method="resolveDrinkChannel"/>
<handler ref="drinkRouter" method="resolveDrinkChannel"/>
Also the config for a source-endpoint, which I imagine is something like the following:
would seem to be more clearly represented by something like (note change of channel attribute to output-channel as well as contained adapter element):
<source-adapter id="my-source-adapter" ref="some-bean" method="some-method"/>
<source-endpoint source="my-source-adapter" channel="some-output-channel">
just my 2 cents, but I'd be interested in feedback.
<adapter ref="some-source-bean" method="source-bean-method"/>