Via DSL
O primeiro mecanismo disponível permite o tratamento de erros em partes específicas da rota usando um forma similar ao try/catch/finally do Java.
Ao definir a rota é possível usar os métodos doTry
, doCatch
, doFinally
e end
para capturar e tratar excessões em pontos específicos da rota. Usando a Java DSL, uma rota definida através desse mecanismo seria parecida com o seguinte:
public void configure() throws Exception {
from("componente:rota")
.doTry()
// código da rota que pode ou não lançar excessões
.doCatch(ClasseDaExcessao.class)
// tratamento da rota, por exemplo, logar o erro
.doFinally()
/* Bloco opcional contento código da rota que será
* aplicado em qualquer circunstância
*/
.end()
}