<route id="loadbalancer">
<from uri="{{direct.loadbalancer}}"/>
<loadBalance>
<failover roundRobin="true"/>
<to uri="mina2:tcp://localhost:9981?sync=false&transferExchange=true"/>
<to uri="{{mina.server2}}"/>
<to uri="{{mina.server3}}"/>
<to uri="{{mina.server4}}"/>
</loadBalance>
</route>
<route id="decoupler">
<from uri="mina2:tcp://localhost:9981?sync=false&transferExchange=true"/>
<to uri="{{direct.vm.processSOAP}}" />
</route>
Предыстория: я хочу сбалансировать входящие обмены и отправить их на mina2-Endpoints. Во втором маршруте я просто хочу отделить их от другого контекста. Два маршрута находятся в двух разных верблюжьих контекстах. Сборка проекта с помощью maven прошла успешно, а также развертывание в Apache Service Mix Karaf. Когда я пытаюсь отправить обмен (тип тела — String) в конечную точку mina2 без параметра transferExchange=true, он работает нормально, но значения заголовков, которые я установил ранее, исчезли. Вот почему я должен использовать transferExchange_true. Но когда я сейчас пытаюсь отправить обмен, я получаю сообщение об ошибке на конечной точке mina2. Лог-сообщение от Karaf показано ниже:
karaf@root>
Итак, как я могу это исправить?
Вам может потребоваться обновить метаданные OSGi для импорта пакета org.apache.camel.impl.