20051229

Problemes Crypto i Tomcat

Avui m'he trobat amb un error super-extrany amb un dels tomcats de produccio, es raro perque havia estat funcionant fins ara i no haviem tocat res...

L'Error era algo aixi:

SEVERE: Servlet.service() for servlet PdfShow threw exception
java.lang.NoClassDefFoundError
at javax.crypto.Mac.getInstance(DashoA12275)
at com.grupogodo.crypto.CryptoGodo.(CryptoGodo.java:19)
at com.grupogodo.crypto.CryptoGodo.(CryptoGodo.java:29)

El codi era algo aixi:

try
{
this.sTheKey = psKey;
this.sAlgorithm = psAlgorithm;
this.mac = Mac.getInstance(this.sAlgorithm);
mac.init(new SecretKeySpec(this.sTheKey.getBytes("ISO-8859-1"), this.sAlgorithm));
}


Sembla com si no pogues instanciar una classe per fer servir una encriptacio molt standard (this.sAlgorithm = HmacMD5)

Després de provar de canviar la versio de la java virtual machine sense exit (tenia la jdk1.5.0_05 i he passat a la jre1.5.0_06)

Al final li he pujat els parametres de memoria del tomcat
Inicialment tenia -Xms80m -Xmx80m i ho he canviat per -Xms123m -Xmx123m al CATALINA_OPTS

Mano de santo !

Sembla com si no pogues carregar totes les classes necessaries en memoria...