Mudar .class em tempo de execução

2 respostas
alucardeck

Olá pessoal, uma duvida…

ao compilar e rodar um programa em Java (desktop)…

seria possível em tempo de execução do programa… manipular a fonte .java, recompilar, e substituir o arquivo .class antigo que está em uso?

vamos supor…

tenho uma classe X, q executa algumas instancias da Y…
em determinado momento eu mudo algo do .java, recompilo e gravo o novo .class da classe Y…
então quando a X criar uma nova instancia da Y, ela poderia ter metodos “novos”?

ou o arquivo fica contra proteção pq esta em uso?
mesmo não tendo nenhuma instancia dele sendo usada?

2 Respostas

T

Os application servers (JBoss, Glassfish, etc. ) fazem exatamente isso que você pensou, mas usam um truque - a cada vez que você troca a versão da classe, carregam-na com um novo classloader.
Se quiser fazer isso você mesmo, leia sobre ‘classloaders’.

alucardeck

Obrigado thingol…

vou procurar alguma aplicação pratica sobre isso…

Criado 22 de julho de 2008
Ultima resposta 22 de jul. de 2008
Respostas 2
Participantes 2