This forum is now a read-only archive. All commenting, posting, registration services have been turned off. Those needing community support and/or wanting to ask questions should refer to the Tag/Forum map, and to http://spring.io/questions for a curated list of stackoverflow tags that Pivotal engineers, and the community, monitor.
What do you mean channels with XSD? Channels only receive and dispatch (not process) messages? Look at them as connectors between endpoints.
As for the routers there ar numerous routing techniques currently available within Spring Integration which means there is more then one way to do the same operation (routing in your case), so when you say "Massage Name ABC" - what is ABC? payload? header name/value? something inside the payload?
Please be more descriptive as to what are you trying to accomplish
Very sorry if I'm not clear,plus I'm new to Integration:
I'm doing the fillowing steps in my process.
1.I'm spolling the directory to get incoming msg as XML file.
2.I push msg to the channel
3.I transform the xml msg to text(Swift) format msg.
4.Log msg to DB table
6.Send msg to MQ.
Now for step #3 I use the XML schema file(.xsd) to parce the XML msg and get Mesage data value in Transformer.When it parce(jaxb) the new java class is created to get data value.
Issue with XML schema:
I can not parce the XML msg with the same schema.I have 3 different Message format. Based on msg type(payload) ,Message needs to be parce with different schema.
I think I need to implement the Router to output msg to different channel for parcing and use different transformer for each channel.
Since you said you need to route it based on payload type all you need is PayloadTypeRouter which will route incoming message to different channels based on the payload type of the incoming message and could be easily configured as such:
I am not sure I understand the question. What channel?
Router receives on input-channel and routs the messages to 'other channels' based on the type of router.
If you are writing a completely new router then you are responsible to provide routing logic and maintain collection of channels it will route to.
Once you create this bean you configure is as such:
<int:router input-channel="input" ref="myRouter"/>
<bean id="myRouter" class="foo.bar.MyRouter">
<!-- this is where you might want to inject a collection of channels you want to route -->
Also, I thought you were routing based on XML. Have you look at XPath router support?