Hi,

I am trying to route a JMS message using an xpath expression. The expression and message conversion seem to work fine but I am getting an error that one of the direct-vm endpoints are not found.

Here is the structure of the router:

DataFormat jaxb = new JaxbDataFormat(...);

from(getInboundReceiver())
    .unmarshal(jaxb)
    .choice()
    .when(xpath(eventTypeOf("abc:inbound:file-receive")))
         .log("Dispatching event ${id} to receive handler")
         .to("direct-vm:abc_InboundFileReceive")
         .endChoice()
    .when(xpath(eventTypeOf("abc:inbound:file-validate")))
         .log("Dispatching event ${id} to validation handler")
         .to("direct-vm:abc_InboundFileValidate")
         .endChoice()
    .when(xpath(eventTypeOf("abc:inbound:file-process")))
         .log("Dispatching event ${id} to processing handler")
         .process(applyProcessor)
         .to("direct-vm:abc_InboundFileProcess")
         .endChoice()
     .otherwise()
         .log("Processing ${id} did not match expressions.");

In the abc_InboundFileValidate route I have:

from("direct-vm:cdw_InboundFileValidate")
....

However, I have this error in the log file:

DefaultErrorHandler | 108 - org.apache.camel.camel-core - 2.12.3 | Failed delivery for (MessageId: queue_abc.events_ID_host_name-65483-1398122729446-4_1_-1_1_1 on ExchangeId: ID-host_name-65482-1398122729423-2-1). Exhausted after delivery attempt: 1 caught: org.apache.camel.component.directvm.DirectVmConsumerNotAvailableException: No consumers available on endpoint: Endpoint[direct-vm://abc_InboundFileValidate]. Exchange[JmsMessage[JmsMessageID: ID:host_name-65483-1398122729446-4:1:-1:1:1]]

I know I'm probably doing something incorrectly, but I can't seem to figure it out. Any help is appreciated.

Thanks,
John

Reply via email to