Somente uma Instancia

8 respostas
G

Olá pessoal,
tenho uma aplicação em Swing que acessa um banco HSQLDB local que só aceita uma conexão.
Vou disponibilizar um jar.
O que gostaria de fazer?
Gostaria que quando o sistema estiver aberto ao inves de abrir outro ele exibir um alerta ou até mesmo maximizar a tela como acontece com o NetBeans por exemplo. (Se estou com NetBeans aberto e tento abrir outro Netbeans clicando no icone ele não abre um segundo, e sim maximiza o já aberto).
Como fazer? O que tenho que verificar para saber que já existe uma instância rodando?
Alguem poderia me ajudar? Já agradeço.

8 Respostas

bruxel

instancia sua aplicação standalone.

acho q deve funcionar nunca testei

G

Como fazer? Algum Tutorial, referência? …

bruxel

vc encontra referência aqui no GUJ mesmo qualquer dúvida

Grinvon

Há várias formas de se fazer isso, uma é usar arquivo texto para manter a instância ativa, essa forma não é tão recomenda, uma vez que se sua aplicação der pau, cair de forma não normalizada o arquivo texto estará lá indicando que sua aplicação está ativada.

A melhor forma para isso seria gerando um ServerSocket do qual escutaria numa porta, uma vez ela estando escutando você poderia checar se a sua aplicação foi inicializada ou não.

Veja um exemplo aqui

bruxel

desculpe naquele momento não tinha nenhuma referencia

mas acabei encontrando esta espero que lhe ajude

http://www.jeebrasil.com.br/mostrar/18

Shelson

Segue código:

Main - classe principal

JustOneLock

Se utilizar Eclipse, CTRL+SHIFT+O para imports necessários.

gentileza encerrar a solcitação, se a dúvida for resolvida.

G

Ok, obrigado pela informação. Resolvido.

G

_

Criado 27 de junho de 2008
Ultima resposta 27 de dez. de 2010
Respostas 8
Participantes 4