Using 64-bit JAVA with Managed Objects

  • 7004473
  • 21-Sep-2009
  • 26-Jun-2012

Environment

Business Service Manager 4.5
Aug 2009 patch buldle
Windows 64 bit OS

Situation

How do I implement 64-bit java in BSM 4.5

Resolution

If the BSM server has a current version of 4.5 (with the latest Aug 2009 patch bundle) use java 1.5x or 1.6x
If the BSM server has an older version of MO (anything before 4.5 with April 2009 bundle patch) then use 1.5x

Win 64 installs:

Go to: http://java.sun.com - get 32bit AND 64bit jdk
(for older versions go to archived versions and select the version needed)
 
Install the 32 bit jdk version first - then install the 64 bit jdk as well.
The jdk version also has a branch off of it that has the jre binaries and related files.
Note: 32 bit jdk files will go in \Program Files (x86)\
Note: 64 bit jdk files will go in \Program Files\
 
The goal here is to use 64 bit java for only the formula process (Server Java Runtime Environment) and 32 java for everything else.
 
In the Customizer use the appropriate jre branch of the jdk install eg: (for formula-64 bit jre) - this example calls the 64 bit version (see dir names mentioned above) - the Server Java Runtime Environment value should be:
C:\Program Files\Java\jdk1.5.0_14\jre\bin\java.exe
 
In the Customizer Point everything at 32 bit version except formula which should use 64 bit version - hence:
- formula (64 bit) Server Java Runtime Environment: C:\Program Files\Java\jre6\bin\java.exe
 
Everything else should call 32 bit java:
- C:\Program Files (x86)\Java\jdk1.6.0_11\jre\bin\java.exe
Note: failing to point to the jre subdir will result in a i386 lib error
 
Now copy the 64 bit launcher.exe to MO/bin/mosformula.exe (this is needed to launch the 64bit formula) - to do this copy MO/bin/template/64bit/launcher.exe to MO/bin/mosformula.exe
Note: all the other mos*.exe will remain the same (32bit) as: /bin/template/32bit/launcher.exe (use the file sizes in the template directories as a guide to which one is being used by the mos*.exe)
 
Run Customizer to force all the changes from the templates to the working files.
 
Note: If Customizer can't find java (not normal unless java versions were changed) - edit the bin/Customizer.lax - then edit as noted here, and apply. See the line:
lax.nl.current.vm=C:\\Program Files\\Java\\jdk1.5.0_15\\jre/bin/java.exe
 
You may (not likely) have to manually edit config/template/Formula.ini # this gets pushed to the daemon.ini - make sure it refers to the new java
You may have to manually edit image/bin/*.lax files for 32bit java (jre) - eg
lax.nl.current.vm=C:\\Program Files (x86)\\Java\\jdk1.5.0_15\\jre/bin/java.exe
 
Check my Computer-> properties-> advanced-> environment vars - make sure JAVA_HOME and the PATH are appropriately set.
Lastly: on any client Run-> javaws -viewer and wipe out the client app.
- AND - on the java tab uncheck updates - make it never update.
If running myMO - make sure that the JAVA_HOME points to the 32 bit jdk (not the jre) path without the last subdir /bin branch.
 
Once everything is working - remove the previous unused version(s) of java to avoid confusion.