Information:

Environment

AppMon: 5.0, 5.5

Solution

Up to and including version 5.5 all components of a AppMon installation use the Java version 6.0 runtime packaged with the product. As Oracle recently stopped providing security updates for this version of Java, this article describes how you can upgrade AppMon components to Java 7.0 to get the latest security updates from Oracle in a security sensitive environment.

Replace Java 6 JRE with Java 7 JRE

For upgrading the runtime of AppMon components (Server / Analysis Server / Collector / Client) to Java 7 just exchange the used JRE. Please mind the bitness of your AppMon installation and use the according JRE.

Windows

For a default installation replace C:\%program_files%\dynaTrace\dynaTrace 5.5.0\jre) with the desired JRE C:\%program_files%\java\jdk1.7.0_<update>\jre) folder. (Program Files (x86) (32 bits) or the Program Files (64 bits) folder)

In other words: Make sure you got the jre\bin\server folder in your installation to run services. It was missing in our 32 bit Java\jre7\bin, but present in Java\jdk1.7.0_<update>\jre\bin.

Linux

For a default installation replace /opt/dynatrace-5.5.0/jre) with the desired JRE /usr/java/jre1.7.0_<update>) folder.

All Platforms

Please note: The AppMon Client is only supported as 32 bit and is a separate installation when you use 64 bit AppMon services.

If you use the Plugin Development feature of AppMon you need the tools.jar from the jdk\lib (default on Windows: C:\%program_files%\java\jdk1.7.0_<update>\lib; on Linux: /usr/java/jdk1.7.0_<update>\lib) directory in <DT_HOME>\jre\lib.

Alternative option: Use the "-vm" commandline parameter to point to a different JRE

Alternately you can add the -vm directive at the very top of the the dt<component>.ini, like here for a 32 bit AppMon installation on Windows:

This or a similar path should do it on Linux:

dynaTrace Agent and Java 7

The AppMon Agent works fine with applications using Java 7, there is no need to upgrade the JRE for the AppMon Components if your application uses Java 7!

Known Issues

Startup error because of memory exhaustion

32-bit applications can only use a certain amount of memory, usually approximately 1.5GB. Java applications can use a bit less, as the Java VM itself also requires some memory out of this amount. Since Java 7 itself uses more memory than Java 6, it might happen that you have to adapt your -Xmx and -Xms settings in the dt<component>.ini file. If the component fails to start and you find the following message in the Launcher log this is the case.

2013-07-15 06:52:03 [00000100] info    [java  ] Error occurred during initialization of VM
2013-07-15 06:52:03 [00000100] info    [java  ] Could not reserve enough space for object heap
2013-07-15 06:52:03 [000000f8] severe  [java  ] Error: Could not create the Java Virtual Machine.
2013-07-15 06:52:03 [000000f8] severe  [java  ] Error: A fatal exception has occurred. Program will exit.
2013-07-15 06:52:03 [000000d4] info    [native] Process 1424 terminated, exitcode: 1
2013-07-15 06:52:03 [000000d4] severe  [native] Process terminated unexpectedly!
2013-07-15 06:52:03 [000000d4] info    [native] Restarting dynaTrace Server...

For the standard 32-bit settings it might be changed as follows:

-Xmx1152 to -Xmx1024M
-Xms1152 to -Xms1024M