Vinculação Dinâmica

Semelhante ao que foi discutido em: http://www.guj.com.br/forum/viewtopic.php?t=8928&highlight=reflection , gostaria de saber se é possível fazer uma “vinculação dinâmica” de classes em uma aplicação java.

A situação seria a seguinte:

Em um diretório específico, teriam umas classes pré-definidas.
Em algum momento, poderia ser necessário fazer a adição de algumas funcionalidades a esta aplicação.

Pensei sobre a possibilidade de adicionar algumas classes a este diretório pré-definido e quando a aplicação for novamente executada, estas classes passariam a ser reconhecidas pela aplicação e passariam a funcionar normalmente como se estivessem lá desde a implantação do software.

Não sei se usando Reflection resolveria esta situação.

Se a aplicação não precisa dinamicamente se atualizar basta este diretorio estar no classpath.

Carregar as todas as classes assim? Se for talvez seja melhor criar um classloader proprio para ir logando as classes usadas, certo?

Até.

Olha a solução em busca de um problema…
vc quer fazer o q?? HotSwapping? De quem?

Vc quer adicionar funcionalidade à sua aplicação? Do mesmo jeito que o Eclipse usa plugins, ou de um jeito diferente?

99% das vezes, usar reflection (com Class.forName()) funciona, mas um container IoC bem configurado pode ser MUITO mais útil…

no outro 1% (números chutados, claro, baseados na minha minúscula experiência) vc precisa de algo mais maleável, que só dá pra fazer com adição de código on-the-fly, e pra isso existem várias bibliotecas pra parsear scripts, das quais beanshell e groovy me atraem mais.

[]s!!

Usando Class.forName() e depois savando os nomes das classes que já forão utilizadas pelo sistema num arquivo… não dá legal?! :roll: