Giriş
Açıklaması şöyle
Apache Camel contains a powerful feature called content-based routers. This allows you to process the message differently relying on the content.
They are quite similar to the if/else statement in Java. Regardless, in Camel, the equivalent words are when and otherwise.
Örnek
Şöyle yaparız
import org.apache.camel.builder.RouteBuilder;import org.springframework.stereotype.Component;@Componentpublic class ChoiceWhenRoute extends RouteBuilder {@Overridepublic void configure() throws Exception {from("direct:startWhenChoiceRoute").routeId("direct:startWhenChoiceRoute").log( "${body}").choice().when(body().isNull()).log("Message body is empty.").log("${body}").end();}}
Test için şöyle yaparız
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.ExchangeBuilder;
@RestController
public class Controler {
  @Autowired
  private ProducerTemplate producerTemplate;
  @Autowired
  private CamelContext camelContext;
  @GetMapping
  public void function() {
    Exchange requestExchange = ExchangeBuilder
      .anExchange(camelContext)
      .build();
    producerTemplate
      .send("direct:startWhenChoiceRoute",requestExchange);
  }
} 
Hiç yorum yok:
Yorum Gönder