Há como fazer deployment de partes da aplicação sem regerar o aqruivo war?
Tags: Grails;war;deployment
O projeto original do Grails 2 tinha como um dos seus principais objetivos o fato de você distribuir seus plugins como bundles OSGi. Infelizmente este objetivo não foi concretizado (e sinceramente, creio que foi a maior oportunidade perdida da história do framework).
OSGi é uma destas jóias ocultas que encontramos no mundo da TI. Pesquise a respeito. Essencialmente ele nos permite criar arquiteturas 100% modulares: e os módulos podem ser trocados em tempo de execução, o que é uma maravilha técnica.
Outro ponto a ser levado em consideração é uma arquitetura baseada nos scripts do próprio Groovy. Você pode, por exemplo, externalizar sua lógica de negócios no banco de dados como um script, carregado em tempo de execução.
Há também a possibilidade dos micro-serviços, mas aí você teria o deploy de outros wars e, sinceramente, creio que a longo prazo pode ser mais danosa que proveitosa.
O projeto do Grails Brasil 5 será modular. É algo no qual já venho trabalhando faz um bom tempo. Essencialmente meu objetivo é poder adicionar ou remover seções do site sem a necessidade de recompilação. Ainda é um projeto muito embrionário, mas creio que com o tempo vai acabar saindo, especialmente a partir do momento em que abrir o código fonte da plataforma, o que deve ocorrer em breve.
Tive resultado com a seguinte abordagem:
1) Ao dar o comando grails compile... vou ao diretório target/classes pego as classes que sofreram alteração e copio as mesmas para o server. Dou stop e start no server e as alterações passam para o aplicativo.
2) Caso a mudança seja em uma view, dar o comando grails compile ---gsp e aí as classes "gsp_*.class" serão criadas. Da mesma forma , basta copiar para o server e reiniciar...
Com isto estou ganhando tempo em determinadas situações.
17/02/2017 01:05
Olá Pedro, não sei se é o caso, mas se você estiver utilizando Tomcat, por exemplo, ele tem o recurso de "Hot deployment".