Ola!
Meu nome é André e eu estou tendo um problemao aqui. Eu estou trabalhando em um projeto que envolve a execucao de diversas instancias de um simulador MIPS. O problema é que o simulador MIPS em questao foi programado usando uma grande quantidade de atributos estaticos, singletons e afins. Quando eu instancio mais de um simulador, os simuladores compartilham recursos que nao deveriam e o sistema quebra.
Uma solucao que encontrei foi criar um .jar com o codigo do simulador e usar ProcessBuilders para criar as instancias em diferentes processos:
ProcessBuilder pb = new ProcessBuilder(“java”, “-jar” ,“C:\Andre\Documentos\Materias TUD\Studienarbeit\ptII6.0.2\Mars.jar”);
try {
Process p = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
O meu problema agora é que, até eu perceber que nao seria possível rodar mais de uma instancia do simulador, eu passava um objeto do meu projeto para o simulador através do construtor do simulador, de modo que o simulador pudesse invocar metodos do meu projeto, e nao sei como fazer isso com os ProcessBuilders. A minha dúvida é: há alguma forma de fazer isso usando esta arquitetura com ProcessBuilders?
Também recebi um conselho em relacao a usar diferentes ClassLoaders para as diferentes instancias do simulador. Confesso que sequer sei do que se trata, e o Google nao me ofereceu uma resposta rapida em relacao a como fazer isso… alguem tem alguma ideia de como fazer isso também? Talvez fosse uma alternativa à ideia de usar os ProcessBuilders…
[]s,
André