0
Spring:Camel динамический маршрутизатор сообщение модификации не работают конфигурации
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="kafka:127.0.0.1:9092?topic=test1&zookeeperHost=127.0.0.1&zookeeperPort=2181&groupId=group1&serializerClass=kafka.serializer.StringEncoder"/>
<dynamicRouter>
<!-- use a method call on a bean as dynamic router -->
<method ref="compositorSlip" method="slip"/>
</dynamicRouter>
</route>
</camelContext>
<bean id="compositorSlip" class="com.maxent.routingcenter.DynamicRouterTest" />
метод скольжения:
public String slip(Exchange exchange, @Header(Exchange.SLIP_ENDPOINT) String previous) {
// just route one time, return null means to end.
if(previous != null){
return null;
}
// I've tried two ways to modify the message body, but they both didn't work.
exchange.getOut().setBody("message modified!!!!!", String.class);
exchange.getIn().setBody("message modified!!!!!", String.class);
if (i++ % 2 == 0) {
return "file://test";
}
return null;
}
Я попробовал два способа изменения тела сообщения, но оба они не сделали Работа. Как изменить тело сообщения? Использовать процессор?
Я хочу добавить процессор перед динамическим маршрутизатором. Как я могу сделать вывод процессора динамическим входом маршрутизатора? –
Я добавил компонент vm между ними. Это лучшая практика? –
Просто верните две конечные точки в промахе, первый - это процессор, второй - то, что вы хотите сделать. Вы можете разделить эти две конечные точки с помощью запятой. Тогда первая конечная точка может быть конечной точкой компонента, в которой вы можете изменить сообщение –