Estou em dúvidas de como iniciar uma aplicação Java Se como Serviço do windows, alguém sabe como é a melhor forma de fazer?
Crie um arquivo Bath pode utilizar o bloco de notas .bat
java -cp %CPATH% //para dependências
echo Mensagem
pause
Para não fechar a janela de prompt , só uma perfumaria.
Aplicação desktop:
No caso de aplicação desktop você pode usar o próprio agendador de tarefas do SO para rodar um arquivo jar em determinado horário. Para tal você pode criar um arquivo .bat colocar um código similar ao abaixo:
javaw -Xmx200m -jar C:\Path\to\jarfile\TheJar.jar
Note que existe um caminho que aponta para o diretório do jar. Então esse bat pode ser cadastrado no agendador de tarefas.
Para ser cadastrado, no Windows por exemplo, siga os passos abaixo:
Clique em Iniciar > Todos os Programas > Acessórios > Ferramentas do Sistema > Tarefas Agendadas
Duplo clique em Adicionar Tarefa Agendada para iniciar o Wizard de adição de tarefas, e então clique em próximo na primeira caixa de diálogo.
A próxima caixa de diálogo mostra a lista de programas que estão instaladas no seu computador, tanto os que fazem parte do sistema do Windows XP ou algum programa que foi instalado.
Utilize um destes procedimentos:
Se o programa que você quer rodar está listado, clique no programa e então clique em próximo. Se você quer rodar um programa, um script, um documento ou mesmo um arquivo .bat que não está listado, clique em Abrir, depois clique no diretório e no arquivo que você quer agendar.
Digite o nome da tarefa e então escolha uma das seguintes opções:
Diariamente Semanalmente Mensalmente Apenas uma vez Quando o computador iniciar (antes do usuário logar) Quando eu logar
Clique em próximo, especifique a informação sobre o dia e hora que você deseja que a tarefa seja executada e então clique em próximo.
Digite o nome e a senha do usuário que está associado a tarefa. É preciso selecionar um usuário que possua permissão para executar aquela tarefa. Por padrão o Wizard seleciona o nome do usuário logado no momento.
Clique em próximo e verifique se todas as configurações estão como desejado.
Da uma pesquisada amigão.
fonte:
Obrigado pela colaboração @jairoalmeida porém queria encontrar uma solução para incluir nos serviços do windows, quanto a agendador de tarefas eu já conheço assim como agendadores em java, minha aplicação até usa agendador de tarefas o Quartz.
Procure usar o que for te ajudar. Java para estes casos só atrapalha, além de ser mais pesado. Se a aplicação vai rodar só no Windows, use C#, senão use C++.
Mas se agora é tarde, vê se isso pode ser uma saída: