Sybase EAServer: Taking Control – Changing JVM in Server

Some time back I posted how to switch Jaguar Manager (admin tool for Sybase EAServer 5.5) to use Java 5 JVM. This is actually part of a bigger change I did as part of the PowerBuilder upgrade project earlier. We switched to PB 12.5 and I wanted to push the Java JDK and JVM also to the maximum.

EAServer is a really a Java server that runs both PowerBuilder and Java inside. The components are linked through CORBA interface. When in development mode, EAServer (on Windows) is started using a DOS batch file script called ServerStart.bat. This actually takes several parameters, one of them being jdk version.

If you type,

ServerStart -jdk15

It will start using JDK/JVM for Java 1.5. But the JDK inside EAServer version 5.5 was pretty old, 1.5.0_09 to be exact. I wanted to push it further to the latest possible version available for 1.5. (By this time Java 1.7 was already out, but unfortunately, EAServer components did not support other versions of Java, so we are stuck with 1.5). There was another issue that drove me to use JDK 1.5.0_22. The earlier version that came with EAServer seemed to have a problem with locale information that the server timing got stuck with GMT! So, I set about changing the JDK completely.

The JDK versions are typically stored in C:\Sybase\Shared folder. (If you are installing any Sybase products, I suggest you get rid of C:\Program Files.. and install directly in C:\Sybase to avoid surprises). I got rid of the 1.3 and 1.4 and the 1.5 versions there. Downloaded and copied JDK 1.5.0_22. We have to make few other adjustments, though.

In C:\Sybase\EAServer\Bin folder, there are bunch of batch files that help with running EAServer as  a local host. One of them is SetEnv.bat. Thus has references to the JDK version used. I changed that first:

REM set JAGUAR_JDK15=C:\Sybase\Shared\jdk1.5.0_09
REM SV, get the latest for 1.5 to overcome time zone issue
set JAGUAR_JDK15=C:\Sybase\Shared\jdk1.5.0_22

Apart from these, the Oracle driver we used for Java was Classes12.jar. (Because EAServer cannot work with Oracle versions later than Oracle 10.02, we are stuck with the Oracle 10g client). I wanted to upgrade the Oracle JDBC driver to the latest *possible* version also. To do this, you edit another batch file inside EAServer\Bin folder, called user_setenv.bat.

REM set ORAJDBC=C:\oracle\product\10.2.0\client_1\jdbc\lib\classes12.zip;
SET ORAJDBC=C:\oracle\product\10.2.0\client_1\jdbc\lib\<strong>ojdbc14.jar;<sup>þ</sup></strong>
set bootclasspath=%bootclasspath%;%ORAJDBC%.

þ I did try OJDBC15 driver. Unfortunately, the JAva packages inside EAServer seem to be compiled with Java 1.4 with a target version of 1.2. Also, JDBC version was pretty old, it started cracking. I didn’t want to push it further.

These changes make the EAServer run inside the latest possible version JDK 1.5. I made the change in Jaguar manager mentioned here to make the transition complete.

Advertisements

Comments, please?

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s