Tenho a seguinte duvida, é possível executar uma instancia da minha aplicação usando reflection e depois encerrar a instancia antiga ?
alguem poderia me indicar um exemplo simples ?
grato
Tenho a seguinte duvida, é possível executar uma instancia da minha aplicação usando reflection e depois encerrar a instancia antiga ?
alguem poderia me indicar um exemplo simples ?
grato
Uma aplicação web ou desktop.
Poderia usar o newInstance
, para ter uma nova instancia do main, por exemplo.
Para eliminar poderia utilizar um finalizer, todo objeto tem um método finalize().
Mas vejo isso mais usual em uma aplicação desktop.
Espero que a informação tenha sido útil.
aplicação desktop
tenho um programa que precisa executar a si mesmo, e encerrar a aplicação antiga, fiquei com dificuldade em desenvolver
[quote=mmx]aplicação desktop
tenho um programa que precisa executar a si mesmo, e encerrar a aplicação antiga, fiquei com dificuldade em desenvolver [/quote]
Se eu entendi bem, você quer reexecutar tua aplicação (reiniciá-la).
Use o Runtime.getRuntime().exec() passando como parâmetro CMD /c mais a mesma coisa que você usou para iniciá-la e em seguida use o System.exit(code) informando um código que indique restart da aplicação (pode ser zero mesmo, isso só é interessante se usar um batch que gere algum tipo de log).
Talvez você necessite de um Thread.sleep() para garantir o restart completo.
Runtime.getRuntime.exec("CMD /c caminho\\comando_a_ser_executado argumentos_do_comando");
try (Thread.sleep(1000); } catch (Exception e) {}
System.exixt(100);
O CMD /c cria uma nova instância de prompt de comando.