Hi Steve, Thanks for detail reply.
- I will evaluate StatefulJ if it fits into my requirements. >> With Camel, I prefer to route a message, and then hand off the work as fast as possible, and then free up the routing to handle more messages. To separate concerns, if the action being performed is not directly related to one of the EIPs, then I would avoid performing it with Camel. - I have more than 100 states and on every request on the base of different criteria it select 10 to 15 states to be process. As from sample table you can see mostly i required integration with different nodes on backend like billing system, customer profile system, SMSc, catalog manager etc. My program infact take request and forward on base of state. Due to integration almost 6 to 7 backed systems with different protocols SOAP, REST, XMLRPC, SQL Procedures calls i choose camel. For some legacy nodes i suppose to retry multiple times so again camel support in this regard very well. >> For better granularity, you can split up the process steps into their own routes, which is what I would personally do. Each phase (order creation, order placement, and order completion, notifications, etc) would include the error handling that you will want in your order placement chain of operations. - In sample table i showed only couple of states otherwise we cant divide it into three categories as you mentioned, we have 100 of products and to order each we have different states and nodes to handle. in some case i only call 2 back-end nodes and for some scenario i have to call all 7 to 8 back-end nodes before final processing of order. Same product has different prices and rules on base of customer profile. Regards