As such your server util class works fine but it always starts and stops MCastService as many times as no of rules configured in rules.xml. This process is repeated for ever single incoming request. I am not sure if this is a good approach to be adopted. During start/stop of this temporary McastService there are warnings generated on other tomcat instancess running "clusterapp", I have sent the stack trace to you via email.
About Redirection: I had a look into Tomcat BalanceFilter code it uses response.sendRedirect(..) method. There should be provision for more than just redirect. (I know this is something beyond the scope of what you have done) As I understand from the real application needs , this should not be (and can not be) a simple forward to new URL because of two reasons:
1. Size limitation on URL rewriting. What if your request has a number of parameters size of which spans over beyond the limit of data your URL could carry. I am talking about simple URL size limit in HTTP GET Vs HTTP POST secenarios.
2. Redirecting to local internal server (where actual Tomcat server running) changes the URL on client web browser (in this case to local internal address as hardcoded in rules.xml) and hence not acceptable. I think there should exactly the same mechanism between Tomcat Worker and actual Tomcat Server as it has been between Apache and Tomcat to for request forwarding transparently.