Hi, I'm using a detour so that if a message has a "suscription" flag it then
connects to a database and creates an entry (in addition to the normal
processing of the message).

from("quickfix:marketdata.cfg").
filter(header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.MARKET_DATA_REQUEST)).
unmarshal(camelDataFormat).
choice().
  when().method("marketDataSuscription", "isSubscription").process(new
SuscriptionProcessor()).to("jdbc:marketDataSuscription").end(). 
process(new FixMarketDataRequestProcessor()).
to("jetty:{{http.marketdataunicast}}").
split().method("marketDataSplitter", "split").
process(new MarketDataSplitterProcessor());

However it gives a compile time error at the last "process" call with the
following error:
"The method process(MarketDataSplitterProcessor) is undefined for the type
Object"

I tried replacing the end() with an endChoice(); it compiles but then it
gives a run time error:

Exception in thread "main" java.lang.ClassCastException:
org.apache.camel.model.FilterDefinition cannot be cast to
org.apache.camel.model.ChoiceDefinition
        at
org.apache.camel.model.ProcessorDefinition.endChoice(ProcessorDefinition.java:1124)
        at
ar.com.mervaros.gateway.MyRouteBuilder.configure(MyRouteBuilder.java:125)
        at
org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:322)
        at
org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:277)
        at
org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:263)
        at
org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:613)
        at ar.com.mervaros.gateway.Gateway.main(Gateway.java:33)


Any tip would be apreciated.

Thanks

Pablo

--
View this message in context: 
http://camel.465427.n5.nabble.com/Problem-with-detour-tp5039887p5039887.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to