Callbacks de ciclo de vida de módulos
O LumisXP possui dois callbacks de módulos para controlar a criação e eliminação de recursos que devam existir durante a execução do módulo (isto é, recursos que devem existir enquanto o módulo está disponibilizado no classloader do LumisXP).
O primeiro callback é chamado antes do módulo ser removido do classloader do LumisXP. Para isso, basta ter uma classe
com um método anotado com lumis.portal.deployment.lifecycle.BeforeClassLoaderStop
.
Esse método será, então, chamado antes do módulo ser removido do classloader do LumisXP.
O segundo callback é chamado depois do módulo ser adicionado ao classloader do LumisXP. Para isso, basta ter uma classe
com um método anotado com lumis.portal.deployment.lifecycle.AfterClassLoaderStarted
.
Esse método será, então, chamado depois do módulo ser adicionado no classloader do LumisXP.
É importante ressaltar que existem dependências entre os classloaders do LumisXP. Todos os módulos isolados, por exemplo,
devem ser readicionados ao classloader do LumisXP se um módulo global está sendo implantado.
Nesse caso, os callbacks de BeforeClassLoaderStop
e AfterClassLoaderStarted
serão chamados
nos módulos isolados, mesmo que esses não estejam, diretamente, envolvidos no deploy.
Vale ressaltar, também, que pode haver um tempo entre os callbacks BeforeClassLoaderStop
e
AfterClassLoaderStarted
serem executados.