Camel Main
O Camel pode ser executado em diferentes runtimes, como servidores de aplicação como o Wildlfy, Oracle Weblogic, IBM WebSphere e outros.
Entretanto, com a popularização dos microserviços e a containerização de soluções, onde, por exemplo, os projetos são executados em containers rodando dentro de clusters Kubernetes, é cada vez mais comum a criação de aplicações leves.
Muitas vezes essas aplicações necessitam apenas uma camada fina de abstração capaz de inicializar a aplicação, ler um arquivo configuração ou variáveis de ambiente e executar as rotas. O Camel fornece uma classe Main
que facilita o trabalho de rodar o Camel sem a necessidade de um runtime adicional. Essa classe permite o que se chama de inicialização em modo standalone.
O código abaixo mostra um exemplo de como utilizar essa classe:
package primeiro.app.camel;
import org.apache.camel.main.Main;
/**
* A Camel Application
*/
public class MainApp {
public static void main(String... args) throws Exception {
Main main = new Main();
main.configure().addRoutesBuilder(new MyRouteBuilder());
main.run(args);
}
}
Para utilizar essa classe é necessário incluir a dependência camel-main
no projeto.