Я пытаюсь преобразовать маршрут Camel в Spring DSL в его эквивалент в Java DSL. Я прикрепил большую часть переводов, но есть кое-что, что я просто не знаю, как это сделать: изменить заголовки.Перевод примера Apache Camel из Spring DSL в Java DSL
Вот примеры:
Spring DSL:
<bean id="service" class="org.apache.camel.example.service.Reporting" />
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route id="mina1">
<from uri="mina:tcp://localhost:9991" />
<setHeader headerName="minaServer">
<constant>localhost:9991</constant>
</setHeader>
<bean ref="service" method="updateReport" />
<to uri="direct:messageSender1" />
</route>
</camelContext>
Java DSL:
public void configure() throws Exception {
from("mina:tcp://localhost:9991")
.setHeader(Exchange.HTTP_METHOD, constant("localhost:9991"))
.beanRef("camel_examples.loadbalancer_failover_javadsl.service.Reporting", "updateReport")
.to("direct:messageSender1");
}
И, наконец, метод компонента, который использует заголовок:
public Report updateReport(@Body Report report, @Header("minaServer") String name) {
report.setReply("Report passed by MINA servers running on: " + name);
return report;
}
Теперь, на примере с использованием Spring DSL, все работает нормально. Но в примере с использованием Java DSL я просто не могу правильно настроить заголовки. это просто не происходит. Я знаю, причина в том, что это строка .setHeader(Exchange.HTTP_METHOD, constant("localhost:9991"))
, возможно, часть Exchange.HTTP_METHOD
, но я не знаю, что поставить там, если честно. Я также пробовал с Exchange.HTTP_URI
, и результат был тот же.
Что не так в моем переводе?
Вы не можете быть серьезным ... но я попробую: P –
Блин ... никогда не думал, что это будет так просто ... спасибо! –
Я шучу о многом. Но я рисую линию, шутя о Верблюде. Ха-ха, я рад, что все получилось. Удачи с вашим проектом! – Vidya