Problemas com ClassLoader

0 respostas
lepopps

Ola,
Estou tendo o seguinte problema com o uso do ClassLoader …
Tenho um sistema rodando em java … e utilizo o ClassLoader para executar um .Jar Externo … até ae blz ele executa tudo certinho … o problema é que depois que eu executo … eu gostaria de poder excluir esse arquivo .Jar … mas ele fica preso pelo VM,
eu só consigo excluir ele depois que encerro minha aplicação … mas quem deveria excluir é a própria aplicação … alguem tem alguma dica … o código que eu executo é esse:

try {
            URL[] allLocations = {new URL("jar:file:" +
                                          "temp_terminal_" + new DecimalFormat("000000").format(parametrosInternos.getCodigoTerminal()) + "_" +
                                          descricaoGrupo.toLowerCase().replace(" ", "_") + "_" +
                                          new DecimalFormat("000000").format(codigoProcesso) +
                                          "/dist/" + "ProcessoExterno.jar!/")}; 
            
            ClassLoader classLoader = new URLClassLoader(allLocations);
            
            Class classExterno = classLoader.loadClass("maxctrl.processoexterno.ExecutarProcesso");
            
            Object objeto = classExterno.newInstance();
            Method method = classExterno.getMethod("ExecutarProcesso", ParametrosInternos.class);
            method.invoke(objeto, parametrosInternos);
            
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Problemas ao Executar Processo Externo: " +
                                                "\nGrupo.: " + descricaoGrupo +
                                                "\nCódigo: " + codigoProcesso,
                                                "MaxCtrl", JOptionPane.WARNING_MESSAGE);
        } finally {
            System.gc();
        }
Criado 28 de setembro de 2013
Respostas 0
Participantes 1