Routing slip pattern is something I've desired for some time in the JBossESB. There are workaround for this, but they're exactly that - workarounds. Could the JBossESB devteam shed a light is there point in implementing this to 4.x-series anymore or is 5.x going to change it so much that it's wiser to wait there?
There's at least two ways to think of this. One which wouldn't require any changes to JBossESB is to create new Routers, which would read from some internal properties part the next place, where to route the message and add this router to every "slip-aware" service.
I guess prettier way would be to create this in to the JBossESB and make the "routingslip" sort of like ActionProcessingPipeline. But instead of actions, it would be mutable and include services. One should be able to modify this routing slip on the fly and after the action processing pipeline was succesfully executed, the service would reroute them automatically forward. The next service would then modify the incoming request (remove the current service from the flow so it won't loop) and continue.
Maybe there could be some sort of parameters to the service that it's slip-aware. I guess the obvious problem would come from the likes of StaticRouter / Wiretaps. What should they do, delete the processing, or just hop to following and keep the slip alive? One could create 'service groups' with these StaticRoutes and would only need to define the beginning and end of those groups in the slip.
These are just ideas, I'm willing to implement these though, but I'd need some guidelines from the ESB-team. We already have semi planned version of this in the production, where validation services are invoked dynamically from the database. But I want more and maybe there's someone else who could use it as well.