Galera eu tenho que executar em uma máquina vários arquivos jars de forma concorrente.
Tem como eu fazer um programa que chame a execução desses jars para que eu não precise ficar incializando todos eles manualmente e conferindo se algum deles parou de funcionar?
[RESOLVIDO]Executar vários jars simultaneamente
3 Respostas
Criando um aplicativo baseado em threads.
Cada thread dispara um jar e, dorme.
Quando acordar, verifica se está rodando normalmente.
Olá
Como nosso amigo drsmachado citou,
Voce pode usar o ClassLoader do java para carregar os seus jars em tempo de execução.
Olhe o exemplo a baixo:
mainJarTest.jar
public class Main {
public static void main(String[] args) {
File file = new File("runtimeJarTest.jar");
URI uriJars = file.toURI();
URL[] urlJarsCarrega;
try {
urlJars = new URL[] {uriJars.toURL()};
ClassLoader loader = new URLClassLoader(urlJarsCarrega);
loader.loadClass("br.com.OlaMundo").newInstance();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
runtimeJarTest.jar
package br.com;
public class OlaMundo {
public OlaMundo() {
System.out.println("Olá Mundo!");
}
}
Voce pode chamar threads para carregar diferentes Jars.
Dei uma mudado no exemplo dessa thread e deu certo:
Criado 23 de abril de 2012
Ultima resposta 23 de abr. de 2012
Respostas 3
Participantes 3