Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Camel in standalone, manter sempre rodando

Estou utilizando o Apache Camel in standalone em uma aplicação que estou desenvolvendo na empresa, onde vai rodar nas filias. A app c/ Camel precisa ser iniciada junto com o sistema operacional.

Com o InnoSetup eu criei um script que adiciona um registro e coloca a aplicação para inicializar com o windows, porém tem situações que esta ocorrendo falhas e não inicia a aplicação. Por exemplo, se o usuário fizer logoff, e entrar novamente não inicia e outros erros também, então já notei que essa não é a melhor solução para esse problema.

Outra coisa que acontece é que quando a aplicação inicia e o Camel dispara a primeira rota, ao terminar ele já fecha a aplicação e não mantem ela rodando em segundo plano. E a aplicação deve sempre estar rodando, assim que ligar o sistema operacional.

Pesquisando a documentação do Camel e o livro Camel in Action, o que eu encontrei não resolve esses problemas.

Alguém tem alguma orientação que possa me ajudar?

2 respostas
solução!

Olá André!

Em relação ao problema do script de inicialização não sei como te ajudar, já sobre o Camel continuar rodando após a execução da primeira mensagem você pode usar a classe org.apache.camel.main.Main do Camel, como abaixo:

Main main = new Main()
main.addRouteBuilder(new MyRoutes())
main.run()

Ela faz com que o Camel fique executando sem parar. Espero ter ajudado :)

Vou testar Newton e posto um retorno aqui.