Wednesday, August 16, 2006

Resin AIX nightmare

Hi all,
After developing a medium sized web application, I wanted to enable https:// for my aplication.
How difficult that could be? I started with Windows and making few configuration changes in resin.conf (yes, I am using Resin for my application) things started working.

Happily, I used the same war file and deployed it on AIX with Resin 3.0.19 installed on it. Made similar changes that I made on Windows' resin.conf and restarted Resin.
(If you are using 3.0.19, you might want to know why we add <jsp jstl="false"> in resin.conf)
Things didn't work as smoothly as expected. :(
I got following error on console when I restarted Resin:
"[org.apache.commons.digester.Digester] - Begin event threw exception"
It was also making ActionServlet Unavailable by giving following message
SEVERE: Unable to initialize Struts ActionServlet due to an unexpected exception or error thrown, so marking the servlet as unavailable. Most likely, this is due to an incorrect or missing library dependency.

I was totally clueless about all this. I had no idea why this was happenening.
For some reason, Resin was not able to get depedent classes/jars for ActionServlet.
After wandering on net for few hours, I went to home at 7:00 in morning.
Collegue of mine worked on that and found that RESIN ON AIX CANN'T READ COMPRESSED JAR FILES. :O :O :O

This was like a shock to me. How this could be a possibility?
Who would guess this? I don't think it is documented at all.
We used uncompressed jar files for this and everything is working as expected.
We concluded that, this is the only reason why it was not working before.

If someone has some different experience or doesn't agree that this could be the reason for errors, please let us know.
Till then, others, please keep it in mind
RESIN ON AIX DOESN'T WORK WITH COMPRESSED JAR FILES.

Thanks.