2013-11-06 6 views
0

Я пытаюсь преобразовать маршрут 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, и результат был тот же.

Что не так в моем переводе?

ответ

1

Попробуйте

.exchange.getIn().setHeader("minaServer", constant("localhost:9991")) 
+0

Вы не можете быть серьезным ... но я попробую: P –

+0

Блин ... никогда не думал, что это будет так просто ... спасибо! –

+2

Я шучу о многом. Но я рисую линию, шутя о Верблюде. Ха-ха, я рад, что все получилось. Удачи с вашим проектом! – Vidya

Смежные вопросы