Friday, April 17, 2009

Be careful when upgrading to Java 1.6

If you install Discoverer 10g out of the box you will get Java 1.4 on the server.

Last year Oracle announced that the server was now certified with Java 1.6 and issued a MetaLink note complete with instructions on how to upgrade the JVM.

On my travels, I have noticed that some administrators do not read the release and installation notes properly and overlook the fact the configuration.xml (found in $Oracle_Home/discoverer/config) needs to be updated as well. If you only install a new java executable but leave the configuration.xml file untouched you will run into serious user interface issues. One such problem is that parameter values will no longer be displayed from your user's last run or from when the worksheet was created thus causing your end users a great deal of anxiety.

An application server in such a state will also run much slower too, so please make sure you update the configuration.xml correctly.

To help you, here is the JVM section from the application server running on my own laptop:

< name="sun" classid="clsid:CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA" plugin_setup="" version="1.6" versionie="1,6,0,mn" type="application/x-java-applet" plugin_page="" disco_archive="disco5i.jarjar" d4o_archive="d4o_double.jarjar">

1. This is all one line with no line breaks or carriage returns. There should also be no space following the leading or before the last brackets.

2. I have spaces to make sure that you can see the text and to stop your browser interpreting this as HTML.

3. The version number 12 only appeard in one place, in the classid switch.

The areas of importance are these switches:
  • classid
  • plugin_setup
  • version
  • versionie
  • plugin_page

In the following help I will show you the settings for Java 1.6.0_12. All of the switches are enclosed in double quotes.

classid: this complete switch has 36 characters broken down as follows:

  • first 9 always CAFEEFAC- all in uppercase
  • next 5 are always 0016- meaning Java 1.6
  • next 5 should be 0000- meaning Java 1.6.0
  • next 5 should be 0012- meaning release 12 (only place this is referenced)
  • last 12 should be ABCDEFFEDCBA again all in uppercase
  • full switch is: classid="clsid:CAFEEFAC-0016-0000-0011-ABCDEFFEDCBA"

plugin_setup: this switch should be fully qualified domain name pointer to the Java executable on the server. Even though this switch always has /jpi/ in the pointer the actual executable must be stored in /jpi/bin/ under the $Oracle_Home for the middle tier. The name of the executable can be anything you look but must be the same as the executable stored in $Oracle_Home/jpi/bin.

version: this switch should be 1.6 with a period between the two numbers

  • full switch looks like this: version="1.6"

versionie: this switch should be "1,6,0,mn" this time with commas between the 4 elements. Yes, mn should be used and not 12 as you might think.

  • full switch looks like this: versionie="1,6,0,mn"
plugin_page: this switch should just be http: // and not a pointer to the complete version as it was in 1.4

  • full switch looks like this: plugin_page=""

After you have upgraded the server to Java 1.6 I recommend you go to each of your user machines and clear the local Java cache. Discoverer will then ensure that they have the correct applet and will send down the right Java version the first time the user connects.

If your users have an earlier version of Java installed or no Java installed then the first time that they connect to Discoverer on an application server that is running Java 1.6 they will be prompted to install it. All they have to do is follow the on-screen prompts and they will be ok. If your users don't have administrative rights over their local PC or if you are making them connect via a Citrix terminal server then your administrator will need to install JVM 1.6 for them.


Anonymous said...

Which document are you referring to for the instructions on how to upgrade the JVM? I used metalink document 401561.1 and have been experiencing some of the problems you are referring to , but I do not see any reference to the configuration.xml you are referring to.


Michael said...

Hi Mark
The document I work with is 465234.1. The document you refer to is the one for E-Business Suite, not for Discoverer. Take a look at 465234.1. This will help.
Best wishes

mark said...

Thanks a bunch Michael, after reading through 465234.1 I found a link to 747189.1, which describes the problem and a workaround for my Discoverer users.

Thanks again,