Lets start by trying to find out what the server is doing at a given point. The startServer.sh will echo the name of the log file that you can tail. Great! At one point you understand that there’s a lot more going on in the background.
You do a quick find -mmin 3 and find out that do get an overview you have to tail about 5 logs: startServer.log, stopServer.log, SystemErr.log, SystemOut.log, server1_exception.log. Divide and conquer but how am I supposed to keep an eye on them? How many pages of documentation do I have to read to monitor the correct one?
I won’t even start on how to find the administrative console or what services are started on which ports. Once you find it and start deploying an application you understand that exploded format is a big no-no, no option for that. Ok, let’s copy or link the application to the installedApps folder. Nope, does not cut it. Nothing happens, none of the 5 logs show anything.
Just zip -r ../app.ear * and deploy the ear file. It will be unpacked to installedApps and off you go. Well actually you still have to zip even the WAR files inside the EAR for the deployment to be a success.
Now you configure your IDE to generate webapp’s classes to the deployed application. You see that the application starts reloading after every change. Probably somekind of auto loading. You go to the administrative console, find “Class loading and update detection”. This must be it. The checkbox is _un_ticked??? Why is it reloading on every update then? I don’t know, but just enable the damn thing and use a really large polling interval and it will all go away.
I can actually go on but I’m probably just wasting time. By the way, Glassfish’s profile/domain is 6.7 MB, my IBM’s profile/domain is 458MB. Go figure.
Tags: java