IBM Support

Using Host On-Demand Programmable HOD with Oracle Java 1.6.0_24 and higher results in Java exception

Troubleshooting


Problem

The IBM Rational Host On-Demand Programmable HOD cached clients will not launch using JRE 1.6.0_24 and higher or IBM Java 1.6 SR9. A java exception is thrown: "java.lang.SecurityException: Permission denied."

Cause

With Oracle Java 1.6.0_24 and higher, an applet loaded via "http://" protocol cannot access or load local resources using "file://" protocol in the same browser session. An applet loading resources using the "file://" protocol is considered a security threat and Java plugin throws a security exception, "java.lang.SecurityException: Permission denied." This is the cause of the Host On-Demand cached client failing with Java 1.6.0_24 and higher.

Environment

Customized Host On-Demand applets created with Programmable HOD

Resolving The Problem

The problem is fixed by introducing a new ClassLoader which will load resources from the Host On-Demand cached client directory. With the help of the new ClassLoader, all the required resources are loaded by the applet's Java code itself there by bypassing the Java plugin's class loader.

This new ClassLoader is available in Rational Host On-Demand 11.0.4.0 Manufacturing Refresh.

No change is required for Programmable HOD applications that are written to work like Host On-Demand's download client. Those applications will continue to work in the same way.

Any Programmable HOD application that is written to work like Host On-Demand's cached client will need modifications to work with Java 1.6.0_24 and higher.

For such applications to make use of Host On-Demand's fix for Oracle JRE 1.6.0_24 and above or IBM Java SR9, the following changes have to be made to the Programmable HOD application.

  1. Add a new applet parameter "UseLocalCacheLoader" with value set to "true"
  2. Change the applet parameter "codebase" value to point to the Host On-Demand server instead of the local cache directory
  3. Add CachedAppletSupporter2.jar and CachedAppletLoader2.jar to the applet parameter archive. Also add JSCachedAppletSupporter2.jar if session manager API's are used.

Any application that is written using the custom caching mechanism other than Host On-Demand's cached applet installer needs to add a JVM run time argument: -Dhod_home_dir="<hod_jars_directory>" along with the above parameters to specify the cached client directory. For example, for Windows 7 users: -Dhod_home_dir="C:\Users\<userID>\HODCC<Servername>\Release"
And for Windows XP users:
-Dhod_home_dir="C:\Documents and Settings\<user>\HODCC<servername>\Release"

To add the JVM run time argument:
  1. Open the Java Control Panel
  2. Select Java tab, then click on View
  3. Add the argument in the Runtime Parameters field, click OK.

Related Information

[{"Product":{"code":"SSS9FA","label":"IBM Host On-Demand"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"General Information","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF035","label":"z\/OS"},{"code":"PF012","label":"IBM i"}],"Version":"11.0","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
02 August 2018

UID

swg21571865