Tag: tomcat

Plugin Sysdeo para Tomcat Melhorado

Numa empresa que usa o Tomcat como padrão, através do plugin Sysdeo do Eclipse, os desenvolvedores precisavam a todo momento executar clean refresh nos projetos, além de editar e salvar um arquivo texto qualquer ou ainda iniciar o Tomcat duas vezes, caso contrário o sistema não inicializava corretamente.

Aparentemente, tudo isso era necessário porque, ao ser iniciado pela primeira vez depois de alguma ação no Eclipse (recompilar código, por exemplo), o plugin não incluia os jars do projeto no classpath do Tomcat, acabando sempre num ClassNotFoundException.

Não me pergunte porque a empresa não muda de container ou usa o “Servers” do Eclipse.

Como esse problema afetava quase todos os desenvolvedores da empresa, preparei uma versão modificada do plugin Sysdeo, forçando um refresh no projeto e a resspectiva atualização das bibliotecas externas. Basicamente, duas linhas de código a mais na classe TomcatBootstrap.

Até hoje as alterações não apresentaram efeitos colaterais.

Para atualizar sua versão:

  1. Baixe o plugin aqui: com.sysdeo.eclipse.tomcat_3.3.1
  2. Feche o Eclipse
  3. Vá na pasta …eclipseplugins
  4. Remova a pasta do plugin antigo (com.sysdeo.eclipse.tomcat_x.y.z)
  5. Descompacte o zip na pasta de plugins
  6. Reinicie o Eclipse

Disponível em

https://github.com/utluiz/com.sysdeo.eclipse.tomcat

Evite reiniciar o Tomcat 6 e deixe a inicialização mais rápida

Otimizações geralmente não caem bem em ambientes de desenvolvimento.

Imagine um desenvolvedor tendo que reiniciar o Tomcat a cada alteração em arquivos estáticos ou JSPs durante o desenvolvimento de uma determinada tela do sistema.
Para evitar isso, altere o arquivo context da sua aplicação da seguinte forma, acrescentando ou modificando os parâmetros antiJARLocking e antiResourceLocking para false.
Exemplo:
<Context (...)
    antiJARLocking="false" antiResourceLocking="false">

Agora o Tomcat 6 vai iniciar mais rapidamente e reconhecer alterações nos arquivos do sistema, ficando apenas limitado a cache de frameworks, como JSF, por exemplo.

Explicação

O antiResourceLocking faz com que o Tomcat crie uma pasta TEMP e copie todos os arquivos da aplicação para lá. Então ele ignora o que está na pasta original da aplicação.

Algo semelhante aplica-se ao antiJarLocking, mas com os jars da lib.

Além de desperdiçar espaço em disco, isso atrapalha o desenvolvimento de telas. Ativar esses recursos é indicado para ambientes de produção.

Com isso, o Tomcat também vai iniciar mais rapidamente, porque ele não vai mais ficar sincronizando todos os arquivos da aplicação para a pasta TEMP.

Tomcat lento no Eclipse com o plugin Sysdeo

Numa empresa que usa Tomcat como web container, alguns desenvolvedores relataram uma lentidão na inicialização e na depuração dos sistemas.

Um colega disse que a única solução encontrada até o momento era criar um novo workspace e importar os projetos do antigo.

Depois de pesquisar um pouco, encontrei em num fórum pelo mundo afora (não vou lembrar onde) algo relacionado a breakpoints. Bingo!

Se você está enfrentando um problema semelhante, ou seja Tomcat + Eclipse + Sysdeo + Lentidão, apague todos os breakpoints e há uma grande chance do seu workspace voltar ao normal.

Creative Commons O blog State of the Art de Luiz Ricardo é licenciado sob uma Licença Creative Commons. Copie, compartihe e modifique, apenas cite a fonte.