Hi, I've the following static route that is loaded at my server startup. It listens for UDP messages on a port and pushes these messages to the seda queue defined in the route below.
from("mina:udp://hostipaddress:9998?sync=false").wireTap( "seda:sometag?size=100&blockWhenFull=true&multipleConsumers=true"); Now I can have multiple clients that want to receive/subscribe to these messages. They also want to dynamically select which feeds they need. Each client send a subscription request (REST) to the server (implemented using Spring-MVC, Jetty, Camel). As soon as the server receives a request I create a new Camel route that looks like: from("seda:sometag?multipleConsumers=true") .routeId(RouteIdCreator.createRouteId(toIP, toPort, "sometag")) .filter() .xpath(this.xpathFilter).unmarshal().jaxb("sometag").marshal() .json().wireTap("mina:udp://client_ip_address:20001?sync=false"); Once this route is deployed it will start to send UDP messages to the client_ip_address: 20001 (as specified in the dynamic route above.) The client can send different filters to the server. In case this server receives the new filter it does the following 1. checks if there is a route running (based on client ip and port) 2. If there is route running it stops that route and deletes this route with the older filter 3. It then recreates a new route which differs from the last route only in the xpathfilter. My issue is that step 2 takes a lot of time (to stop and restart) Is there is a way to resolve this issue? Basically I want to change the XPath expression in the route without stops/migrating the route. Thanks. PS: I've also posted this question on Stackoverflow. -- View this message in context: http://camel.465427.n5.nabble.com/Options-for-creating-dynamic-filters-tp5716584.html Sent from the Camel - Users mailing list archive at Nabble.com.