Processo java

2 respostas
M

Pessoal,

Seguinte, a aplicação que estou desenvolvendo não pode permitir duas instâncias do aplicativo rodando ao mesmo tempo, ou seja, dois jars do mesmo sistema não pode estar executando ao mesmo tempo. Gostaria de saber se existe alguma forma no java em que eu possa gerênciar isso?

2 Respostas

evandro.santos

Complicado, todas as opções de fazer isso podem levar a comportamentos indesejáveis:

Você pode gravar alguma um arquivo em uma pasta especifica do disco - se o programa fechar de forma errada o arquivo continuara  e o programa não estará aberto;

Você pode levantar uma porta X em seu aplicativo e antes de abrir testar se a porta X está aberta;

Pode dar lock em um arquivo do disco, se o arquivo estiver liberado pode abrir uma nova instância.
Hebert_Coelho

Cara, oq vc pode fazer é criar apenas uma aplicação e essa aplicação criaria threads de uma rotina toda vez que fosse invocada.

Vai ter que ficar muito esperto na hora de utilziar o synchronized pois vc poderá “sentar” a máquina caso haja muitos processos tentando acessar a mesma parte do código! [=

Criado 20 de julho de 2010
Ultima resposta 9 de ago. de 2010
Respostas 2
Participantes 3