I'm currently using spring integration 2.0.0.M5 and looking on the docs I couldn't find how to do something I want to.
Basically, I'm receiving two different messages on the same channel. One is to create a new customer and the other is to update it's details.
What I wanted to do is based on a header parameter, i.e. action = create, call a different method on my service activator.
Something looking like this :
At the moment I can achieve what I need having a headerValueRouter. Based on the header value, I send the message to a specific channel, say inputCreateChannel or inputUpdateChannel. From that I have a service-activator for each channel but that's making me having lot's of similar service activators.
<integration:service-activator id="messageProcesor" header-ref="action" input-channel="inputChannel">
<integration:filter header-value="create" method="createCustomer"/>
<integration:filter header-value="update" method="updateCustomer"/>
Don't know if I was clear but would appreciate any help.