«

»

Mar 28

Java é uma péssima linguagem para aplicações baseadas em plugins

Andei conversando com o Rafael, sobre uma forma de adicionar suporte a plugins ao JForum esta semana e voltei a pensar nisto …

Java é uma péssima linguagem para aplicações baseadas em plugins …

Claro, é possivel implementar, mas é muito dificil ter por exemplo, o mesmo comportamento que se tem no wordpress, que é fazer o deploy da aplicação com tudo ja rodando, sem ter downtime nenhum, a aplicação ja etectar o plugin, e te permitir ativar ele ainda sem downtime nenhum …

Por padrão, em java, estes “plugins” só seriam detectados no proximo restart, quando se faz um refresh no classpath.

É possivel implementar isto se você escrever o proprio classloader, como o pessoal do JPF (Java Plugin Framework), ou do eclipse fizeram …

Nem em JSP, se for feito um include, como é feito no PHP, isto vai funcionar, por que seria necessário no minimo fazer um “touch” no arquivo principal, para que ele fosse recompilado, e refletisse as alterações …

Ou alguem conhece outra forma de fazer isto?

Como é que uma linguagem voltada a aplicações enterprise, pode dificultar tanto isto?

A unica forma fora a escrita de um classloader proprio que consegui pensar até agora, é fazendo mapeamento reverso …

por exemplo, os plugins rodam em modulos separados (tanto faz ser web ou EJB neste caso), e na inicialização, o plugin se registra na aplicação principal …

mas mesmo assim, isto é trabalho demais para fazer pouca coisa :(