Reload em uma Application do Tomcat com o ANT  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
nilolima
JavaChild
[Avatar]

Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline

Gelera alguem sabe como fazer para dar um reload em, somente uma, aplicação do Tomcat usando o ANT?

Obrigado

Tecnólogo em Sistemas para Internet - CEFETPB
[MSN]
nilolima
JavaChild
[Avatar]

Membro desde: 09/07/2005 05:05:19
Mensagens: 136
Localização: Acre
Offline

Valeu Marcelo do PBJUG e demais que ajudaram

Resumindo é bem fácil de fazer.

Precisamos usar as funções do Manager do Tomcat. Dentro da pasta server/lib do Tomcat tem um arquivo chamado catalina-ant.jar, esse contem a implementação das tasks responsáveis por gerenciar o conteiner. Entende-se gerenciar por Iniciar, parar, fazer deployment, undeployment, e reload por aplicação.

A implementação das tasks que possibilitam esses comportos estão no arquivo catalina-ant.jar. Para que esse arquivo seja enxergado pelo Ant é necessário que uma cópia seja inserida dentro da pasta $ANT_HOME/lib.

Desvio para Leigos: $ANT_HOME é a pasta onde o ANT está instalado.
Desvio para usuários do Eclipse: Se estiver usando o ANT interno do Eclipse não basta copiar o .jar para a pasta $ECLIPSE_HOME/plugins/org.apache.ant_X.x.x tem que abrir o eclipse ir no menu WindowPreferences selecionar ANT  RunTime na aba ClASSPATH selecionar Ant Home Entries e clicar no botão Add External Jar, procurar no sistema de arquivos catalina-ant.jar, clicar em apply e pronto pode usar;

Para fazer o script ANT que faça o Reload é bem fácil:

<project name="ManagerTomcat" basedir="." default=" ">
<!?Algumas propriedades para facilitar o trabalho -->
<property name="path" value="/teste"/>
<property name="url" value="http://localhost:8080/manager"/>
<property name="username" value="admin"/>
<property name="password" value=""/>

<!?Essas task define uma nova task que será será chamada pelo name dado e implementada pela classe representada por classname -->
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/>

<!?Pronto agora vamos a task de vai realmente dar reload na aplicação -->
<target name="reload">
<reload url="${url}"
username="${username}"
password="${password}"
path="${path}"/>
</target>
</project>

Como vemos o taskdef gerou a task reload, e nós criamos uma nova task também chamada reload, por conhecidencia, dentro dela chamamos o reload definido no taskdef que precisa da url do Manager, o usuário do manager do tomcat, a senha e o path as aplicação.

Desvio para leigos: Path da aplicação é o nome da pasta onde a aplicação está armazenada dentro da pasta webapp do tomcat. É mais ou menos isso.

Quem precisar saber como realizar as outras tarefas de administração ver:
http://tomcat.apache.org/tomcat-5.0-doc/manager-howto.html#Executing%20Manager%20Commands%20With%20Ant


Valeu gelera, obrigado pela ajuda

Tecnólogo em Sistemas para Internet - CEFETPB
[MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team