I’ve been working with Sybase EAServer 5.5 for about 6 years now. I have tried EAServer 6.x and I have worked with Java servers and IIS. I feel, EAServer has certain charm in it. For one, we are able to run PowerBuilder components in it to take PowerBuilder in to the n-tier world. It is so sad, that Sybase and later SAP didn’t realize its potential and dropped the ball. EAServer has been eclipsed.
But, we are still using the old (10+ years?) EAServer 5.5. I upgraded our application to PowerBuilder 12.5 recently and we moved to Windows 7 and Windows 2008 server recently. I ended up tweaking the server settings a lot to make it relevant for the modern environment. I am posting these tweaks as a log for myself. I hope it is useful to anyone stuck in a similar situation like us.
Tweaking the Jagtool
EAServer is a Java server. To administer it, Sybase provided a EAServer (Jaguar) manager tool. This is a Java program that has GUI interface. I posted a tweak to this recently.
Jagtool is a command line utility that has almost, if not more, functionality as the Jaguar Manager. If you look at the Jagtool.bat, you will realize Jagtool is also a Java program. You can interactively type commands or put the commands in a script file and run in batch mode. This is what we typically use to build and deploy our PowerBuilder application to our EAServer(s).
When our PowerBuilder components got bigger, suddenly some components wouldn’t deploy through Jagtool. Apparently, it was because the size of the PBDs had grown in size and the Jaguar jar files were much larger that Jagtool could not open or deploy them. For a while, the build manager kept deploying these separately from within PowerBuilder.
While tweaking the environment for the PowerBuilder upgrade, I noticed that the Jagtool was failing while deploying these components because JVM was running out of memory. I changed the JVM memory settings like below in Jagtool.bat and it was able to deploy larger packages to EAServer.
Comment out the Original line:
REM %JAVA_HOME%\bin\java -classpath %CLASSPATH% -DJAGUAR=.%JAGUAR%. -DJAGUAR_HOST_NAME=%JAGUAR_HOST_NAME% com.sybase.jaguar.management.jagtool.jagtool %ARGS%
And add the below lines – this increases the memory allocated for the JVM.
SET JVM_MEMORY_SETTINGS=-Xmx1028M -Xms512M XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled %JAVA_HOME%\bin\java %JVM_MEMORY_SETTINGS% -classpath %CLASSPATH% -DJAGUAR=.%JAGUAR%. -DJAGUAR_HOST_NAME=%JAGUAR_HOST_NAME% com.sybase.jaguar.management.jagtool.jagtool %ARGS%