So far, I have this solution which uses Camel Bean Language/Message Filter. I always want the route to send to the *firstToURIs*, but only send to the mirror wiretap if the *mirrorEnabled* configuration value is set to true.
* // ------------------------------------------------ // This static variable and bean class allows for // conditional DSL wrt mirror functionality. // @see https://camel.apache.org/message-filter.html // @see http://camel.apache.org/bean-language.html // ------------------------------------------------ private static Boolean mirrorEnabled = null; // Set based on the mirror configuration. public static class MirrorBean { public boolean isMirrorEnabled() { return mirrorEnabled.booleanValue(); } }* ... from(fromURI) .routeId(sourceRouteId) .routePolicy(routePolicy) .startupOrder(routeStartupOrder) .setProperty(Exchange.CHARSET_NAME, ExpressionBuilder.constantExpression(charsetName)) // ----------------------------------------------------------- // This wiretap implements the mirror functionality. // A traditional wiretap whereby Camel will copy the original // Exchange and set its Exchange Pattern to InOnly, as we want // the tapped Exchange to be sent in a fire and forget style. // ----------------------------------------------------------- * .filter().method(MirrorBean.class, "isMirrorEnabled") .wireTap(mirrorToURI).id(sourceRouteId + "_MIRROR") .end()* // ----------------------------------------------------- // to(backupFileToURI, throughputFileToURI, sedaMainURI) // ----------------------------------------------------- .to(firstToURIs) .id(sourceRouteId + "_TO_FIRST_URIS"); -- View this message in context: http://camel.465427.n5.nabble.com/Conditionally-omitting-a-portion-of-a-route-tp5770127p5770129.html Sent from the Camel - Users mailing list archive at Nabble.com.