This errors:

        from(source())
                .transacted()
                .unmarshal(jacksonUnmarshall)
                .process(router)
                .recipientList(simple("${body.media}"))
                .marshal(jacksonMarshall);

The router sets the In of the Exchange to an object that has a List<String>
media. This is as single String of value "activemq:queue:foo".

The error:

15:29:32,463  WARN org.apache.camel.component.jms.JmsBinding:486
createJmsMessage() - Cannot determine specific JmsMessage type to use from
body class. Will use generic JmsMessage. Body class:
com.foo.server.ngw.msgtosend.MessageToSend. If you want to send a POJO then
your class might need to implement java.io.Serializable, or you can force a
specific type by setting the jmsMessageType option on the JMS endpoint.

I tried with marshal before the recipientList but then ${body.media} cannot
be found.

I'm guessing I'm bending things in ways not intended. The router wants to
set which media(s) the message should be transmitted onwards to. Camel
should then transmit to those as a set of queues.

Pretty simple, but crashes. Suggestions?

James

Reply via email to