Controlar execução/Instância de APP Java

Pessoal, talvez possa estar fazendo um pouco de confusão, mas seguinte, estou querendo bloquear na máquina do usuário que ele duas vezes o meu programa.
Eu peguei o sistema pronto, e usaram jps para controlar… Quando rodo pelo F9 do NetBeans, ele bloqueia as instâncias, porém quando rodo com DOIS CLIQUES, não rola…

ALguém sabe alguma outra forma ou como resolver isso?!

grato!

Tente abrir um server socket numa porta qualquer. Se ele não abrir, não deixe a aplicação abrir.

Resolvido!
Mas seguinte, empresas grandes que possuem uma politica de segurança BOA, não irão gostar de um produto que abra um servidor de comunicação!
Que vocês acham?

Uma forma bem tosca de fazer a mesma coisa, sem abrir um socket, é criar um arquivo que serve apenas para indicar que o programa está ativo. Quando o programa for encerrado, você apaga o arquivo. Esse é um método bem antigo, usado em alguns programas Unix.

O grande problema, é claro, é que volta e meia o programa pode “morrer” e o arquivo continuar presente. Então você precisaria de algo mais confiável.

[quote=dcbasso]Resolvido!
Mas seguinte, empresas grandes que possuem uma politica de segurança BOA, não irão gostar de um produto que abra um servidor de comunicação!
Que vocês acham?[/quote]

Geralmente, se seu socket só abre a porta, mas não responde de qualquer forma, não há problema. Uma forma de fazer isso é fazer o servidor fechar imediatamente todas as conexões que chegarem.

[quote=entanglement]Uma forma bem tosca de fazer a mesma coisa, sem abrir um socket, é criar um arquivo que serve apenas para indicar que o programa está ativo. Quando o programa for encerrado, você apaga o arquivo. Esse é um método bem antigo, usado em alguns programas Unix.

O grande problema, é claro, é que volta e meia o programa pode “morrer” e o arquivo continuar presente. Então você precisaria de algo mais confiável. [/quote]

Pensei nisso, mas tem este problema… enfim, não é confiável! E obrigado pela idéia!

Caramba, muito bom isso, esse funcionou, ja tinha visto diversos sobre isso mas nenhum tinha funcionado, agora ta show de bola :slight_smile:

abraços.

Tem estes códigos aqui…

http://www.trap17.com/index.php/Implement-Single-Instance-Application-Java_t59760.html

Muito louco, mas estou tentando rodar aqui!

[quote=dcbasso]Tem estes códigos aqui…

http://www.trap17.com/index.php/Implement-Single-Instance-Application-Java_t59760.html

Muito louco, mas estou tentando rodar aqui![/quote]

Funciona Perfeitamente! :wink: