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