Thursday, November 13, 2008

Fly Like a Rocket using JRockit JVM

JRockit is the first JVM designed to run server-side applications. It is now the high performance JVM used in the core of Oracle Fusion Middleware. With its deterministic nature for performing garbage collection, it is now used on many time driven and high through application architectures like Algo Trading, Military Asset Tracking, Transportation & Logistics etc.

With its wide adoption, rich tool set and high performance, JRockit is now used for Enterprise Application Servers, Portal Servers, Integration Servers, Enterprise Service Bus, Identity Management Servers, Time Driven & Complex Event Processing Applications etc.

Oracle WebLogic Server installations are bundled with 2 flavors of JVM. On all Intel based installers in addition to Sun's Hotspot JVM, Oracle's JRockit JVM is also included. The default JVM for a WebLogic Domain is configured when a Domain is created using the Configuration Wizard or WLST. But all the built-in tools comes with WebLogic Server are configured to JRockit JVM. If the Domain is selected to run in Production Mode the JVM selection will default to the bundled JRockit SDK whereas Sun SDK will be selected for the Domains configured in Development Mode.


After the fact that you create the domain if you want to change your server(s) JDK to JRockit, you can do so by modifying the server's start up scripts. The server start up scripts startWebLogic.cmd/sh and startManagedWebLogic.cmd/sh both rely on a setup script for environment setting - setDomainEnv.sh. You can include an environment variable (JAVA_VENDOR) definition either on top of that script or on the shell to modify the JVM that the server(s) should use.

Windows:
set JAVA_VENDOR=BEA

*nix:
export JAVA_VENDOR=BEA


After this variable is set, the server(s) should start using JRockit JVM. You can find out the version of JVM used by the server on its log output or stdout. Some of the non-standard command-line options are not supported by all JVM vendors. So you might want to refer to JRockit's documentation for JRockit specific command-line options.



JRockit provides lot of tools that you can use to get more inside and realtime information from the applications running on JRockit JVM. These tools are packaged as JRockit Mission Control. I will write more about JRockit Mission Control and the tools included in that package on my future entries.

Oracle JRockit in not only for WebLogic Server and WebLogic Suite of products. You can use this for any Java application. JRockit is a certified and compatible with Java application complied using Sun SDK.

To find out more about JRockit go to the official FAQ page - http://www.oracle.com/technology/software/products/jrockit/FAQ.html

To download JRockit go to - http://www.oracle.com/technology/software/products/jrockit/index.html