Thanks so much Claus!!! Just a few questions:

- I assume the last piece is:

    // continue routing here
    part = part.xxx 

And that there is nothing to do to finalize the ProcessorDefinition object,
just set it as you show?

Anyways, here's what I ended up with, based on your directoins:

                ProcessorDefinition initialRoute =
                    from(fromURI)
                        .routeId(sourceRouteId)
                        .routePolicy(routePolicy)
                        .startupOrder(routeStartupOrder)
                        // See
http://grokbase.com/t/camel/users/1056thepe4/need-create-a-route-which-can-handle-several-encoding
                        .setProperty(Exchange.CHARSET_NAME,
ExpressionBuilder.constantExpression(charsetName))
                        .threads(threadPoolSize /*poolSize*/, threadPoolSize
* 2 /*maxPoolSize*/)
                            .threadName("threads_" + sourceRouteId)
                        //
-------------------------------------------------------------------------------------------
                        // When a task is rejected (e.g. due to worker queue
is full), let the current caller thread
                        // execute the task (i.e. it will become
synchronous), also gives time for the thread pool
                        // to process its current tasks,without adding more
tasks (i.e. a sort of self throttling).
                        //
-------------------------------------------------------------------------------------------
                        .callerRunsWhenRejected(true); // Hard-coded since
we always want this behavior!

                if(mirrorEnabled) { // ProcessorDefinition allows us to use
Java to conditionalize the route
                    //
--------------------------------------------------------------------------------------
                    // Wire Tap (from the EIP patterns) allows you to route
messages to a separate location
                    // while they are being forwarded to the ultimate
destination. This wiretap implements
                    // the MPLR mirror functionality. It's 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. Note
that this mirror wiretap is
                    // conditional, based on the "enabled" flag in the
MIRROR destination configuration.
                    // See http://camel.apache.org/wire-tap.html
                    //
--------------------------------------------------------------------------------------
                    initialRoute =
initialRoute.wireTap(mirrorToURI).id(sourceRouteId + "_MIRROR");
                }

                //
-----------------------------------------------------------------
                // to(backupFileToURI, throughputFileToURI, sedaMainURI,
sedaAckURI)
                //
-----------------------------------------------------------------
                initialRoute = initialRoute.to(firstToURIs)
                    .id(sourceRouteId + "_TO_FIRST_URIS")
                    .setProperty(Exchange.CHARSET_NAME,
ExpressionBuilder.constantExpression(charsetName));*



--
View this message in context: 
http://camel.465427.n5.nabble.com/Conditionally-omitting-a-portion-of-a-route-tp5770127p5770186.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to