Dúvidas em relação a abrir 2 instancias ao mesmo tempo

Bom estou com dúvida como eu conseguiria resolver esse problema
Abrir 2 .instancias do mesmo programa

abrindo 2 incstancias da mesma aplicação como eu conseguiria eliminar o processo de uma caso já esteja um aberto.

Crie um método com um serverSocket apontando para uma porta qualquer padrão que você queira, sempre que houver a tentativa de iniciar uma nova instância apontando para a mesma porta do serverSocket ele vai falhar e você aborta o processo.

Exemplo:

private void blockMultiInstance() {
    try {
       serverSocket = new ServerSocket(9581);
    } catch(IOException ex) {
        JOptionPane.showMessageDialog(rootPane, "Software já está aberto!", "Atenção", JOptionPane.WARNING_MESSAGE);
        System.exit(0);
    }
}

Com um método assim bastaria fazer a chamada do mesmo dentro do construtor da sua classe principal da aplicação.

1 curtida

mas sempre vai ficar aparecendo uma msg do firewall não é?
tem como solucionar isso?

1.Na aplicação que ficará rodando, ela se encaminha de enviar abrir uma nova conexão com a aplicação a ser fechada.
2.Passará um parametro de fechamento
3.A aplicação a ser fechada, ao receber esse parametro, fecha todas as coisas importantes com consistência e termina a aplicação.

Que mensagem?
Isso que te passei não tem ligação nenhuma com firewall!

ha foi um engano meu , vlw mano funcionou, mt obrigado.

Marca o tópico como resolvido, isso ajuda outros usuários a chegarem na mesma solução!