Etiqueta: Tomcat

Extraño bug al recuperar una sesión mail desde JNDI en Tomcat 5.5.x

01 dic 2007

Os cuento un extraño bug con el que me ha tocado pelear hoy, el problema solo afecta a las versiones de Tomcat 5.5.20-5.5.23, pero me ha causado un pequeño quebradero de cabeza.

El problema es que en las versiones afectadas, y debido a un problema en el proceso de empaquetado, la clase org.apache.naming.factory.MailSessionFactory no este disponible en el jar common/lib/naming-factory.jar.

Por este motivo al ejecutar un código que funciona perfectamente en Tomcat 5.5.19 en Tomcat 5.5.23 nos encontramos con la siguiente excepción:

Caused by: java.lang.ClassNotFoundException: org.apache.naming.factory.MailSessionFactory

Referencia concreta al bug es:

http://issues.apache.org/bugzilla/show_bug.cgi?id=40668

Tips: Configurar una página JSF como página de inicio en Tomcat 5.5

05 ago 2007

Normalmente cuando queremos configurar una página como página de inicio de la aplicación, solo tenemos que indicar la página concreta en el apartado welcome-file-list de esta forma:

<welcome-file-list>
    <welcome-file>index.jsf</welcome-file>
</welcome-file-list>

Sorprendentemente este tipo de configuración estándar no funciona correctamente cuando la página destino es una .jsf (también aplicable a otras extensiones ficticias) , ya que Tomcat comprueba la existencia física del fichero.

Para conseguir esto, sin tener que recurrir a redirecciones, solo tenemos que crear junto al fichero index.xhtml un fichero index.jsf (que puede estar vacío).

La existencia física del fichero index.jsf es un truco que nos ayuda a salvar la limitación que impone Tomcat 5.5 cuando intenta localizar el fichero de bienvenida.

El fichero index.jsf, aunque puedes estar vacío, es recomendable que contenga algo como:

<%--
Please DO NOT delete this file. This file is used
to trick tomcat to detect index.jsf as the
welcome file and will load index.jsp instead.
Truco gracias a :

http://forum.java.sun.com/thread.jspa?threadID=696586&messageID=4044966

--%>

Configuración de un entorno completo de programación en 5 minutos

26 feb 2007

Os dejo una pequeña guía para la instalación de un entorno de desarrollo completo en Linux(Ubuntu 6.10).

Instalación de Postgres

  • Instalamos el servicio
    sudo apt-get install postgresql-8.1
  • Cambiamos el password por defecto del usuario postgres
    sudo su postgres -c “psql template1″
    ALTER USER postgres WITH PASSWORD ‘postgres’;
  • Instalamos un cliente gráfico
    sudo apt-get install pgadmin3

Con esto ya estamos listos para utilizar postgresql.

Instalación de java
sudo apt-get install sun-java6-jdk

Instalación de Eclipse
sudo apt-get install eclipse

Una vez instalado, es recomendable configurarlo para que utilice mas memoria.
sudo gedit /usr/bin/eclipse
Modificamos la variable VMARGS para amentar la memoria
VMARGS=”-Xms740m -Xmx1256m -XX:MaxPermSize=128M”

Instalación de los plugins WebTools, Subeclipse y Maven para Eclipse
Ejecutamos eclipse (menu Applications/Programming/Eclipse)

Desde el menu “Help/Software Updates/Find and Install” seleccionamos “Search for new features to install” y de los muchos sitios de actualización desponibles, seleccionamos “Callipsto Discovery Site” y añadimos los siguientes sites:

http://subclipse.tigris.org/update_1.2.x ( Para la integración con Subversión)
http://m2eclipse.codehaus.org/ (Para la integración con Maven, yo prefiero la consola, pero es cuestión de gustos)

pulsamos Finish. Una vez hecho esto, seleccionamos los componentes WebTools, Subversion , Maven y listo.

Instalación de Tomcat

sudo apt-get install tomcat5.5

Instalación de Maven

Para su instalación en primer lugar necesitamos descargarlo de http://maven.apache.org ( y seguimos las instrucciones de instalación). Una vez descargado procedemos a configurar las variables de entorno.

En Linux/Mac:
sudo gedit /etc/profile
#Variables MAVEN
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export M2_HOME=/home/borrego/java/maven
export PATH=$M2_HOME/bin:$PATH

Instalación de netbeans
Si optamos por la última versión de NetBeans, la instalación es trivial ya que se basa en Java Web Start.
Abrimos la página http://nbi.netbeans.org/m11/download.html y pulsamos en Lauch.

Con un poco de suerte y si la conexión a internet es rápida, en 5 minutos tendremos el sistema preparado.

Liberar un puerto pillado por Tomcat

24 ene 2007

Una tonteria….

Para Windows: 

Quizas os haya pasado que se os queda frito el Eclipse mientras teniais el Tomcat arrancado, y no hay otra forma de arreglarlo que matar el proceso del Eclipse.

Rearrancamos el Eclipse, y al intentar rearrancar el Tomcat nos salta un error de que el puerto esta ya pillado.

 Bien obviamente, la anterior instancia de Tomcat se ha quedado por ahi.  La forma obvia de arreglarlo es ir a Servicios, y intentar parar alli el Tomcat, pero y si no encontramos el ‘bloody’ servicio?

Solucion facil. En %tomcatdir%\bin ejecutar shutdown.bat

Tachan!

El Tomcat ya arrancara sin problemas en Eclipse.

 Lo dicho, una tonteria…