Update Java

Hi,

In our webMethods Integration Server Java is in version 1.8.0_31 (52.0). Due to some issues with socketRead0 method we want to update Java to newest version, that is 1.8.0_162.

Can we just replace current jvm folder with new downloaded Java or do we have to use Software AG Update Manager?

We don’t have Internet connection on production and tests environments and using SUM is a problem for us.

Integration Server version 9.7

Use SUM, you can download it as an image on another system with internet connectivity and copy the same and install. Installing java update instructions is not straightforward, kindly review the readme guide.

1 Like

Hello Robert,

The way I am doing Java upgrade is:

  1. Create 2 separate images - one image with the Update Manager installation (strongly advised to be installed in to another product folder), second image for the fixes - Java update and all dependencies for your installation.

In my case I did Java upgrade from 1.7 to 1.8 (minor version is not important) on webMethods 9.6 with Installer and SUM v.9.8.

  1. Transfer two images and installer to the server.
  2. Install new SUM with installer from first image in different folder. C:\SUM98 in my case.
  3. Use new SUM and second image with fixes to upgrade your Java. SAG root folder was C:\SoftwareAG in my case.
  4. Check logs for some post upgrade task like DB tables migration, etc.

Greetings,
Boyan

Hey when Iam doing fresh installation of IS, i could see this error in install log

12:53:15 warning DMU> stdout output: [java] Exception in thread “main” java.lang.UnsupportedClassVersionError: com/wm/distman/install/IInstallerAccess : Unsupported major.minor version 52.0
12:53:15 warning DMU> stdout output: [java] at java.lang.ClassLoader.defineClass1(Native Method)
12:53:15 warning DMU> stdout output: [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
12:53:15 warning DMU> stdout output: [java] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
12:53:15 warning DMU> stdout output: [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
12:53:15 warning DMU> stdout output: [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
12:53:15 warning DMU> stdout output: [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
12:53:15 warning DMU> stdout output: [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
12:53:15 warning DMU> stdout output: [java] at java.security.AccessController.doPrivileged(Native Method)
12:53:15 warning DMU> stdout output: [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
12:53:15 warning DMU> stdout output: [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
12:53:15 warning DMU> stdout output: [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
12:53:15 warning DMU> stdout output: [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
12:53:15 warning DMU> stdout output: [java] at java.lang.Class.getDeclaredMethods0(Native Method)
12:53:15 warning DMU> stdout output: [java] at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
12:53:15 warning DMU> stdout output: [java] at java.lang.Class.getMethod0(Class.java:2813)
12:53:15 warning DMU> stdout output: [java] at java.lang.Class.getMethod(Class.java:1663)
12:53:15 warning DMU> stdout output: [java] at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
12:53:15 warning DMU> stdout output: [java] at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)
12:53:15 warning DMU> stderr output:
12:53:15 warning DMU> stderr output: BUILD FAILED
12:53:15 warning DMU> stderr output: /home/sandeep/webMethods/97/IntegrationServer/instances/is_instance.xml:677: The following error occurred while executing this line:
12:53:15 warning DMU> stderr output: /home/sandeep/webMethods/97/IntegrationServer/instances/is_instance.xml:570: Java returned: 1
12:53:15 warning DMU> stderr output:
12:53:15 warning DMU> stderr output: Total time: 9 seconds
12:53:15 error APP_ERROR> ISLauncher: Error creating IS ‘default’ Instance.

Error: “com/wm/distman/install/IInstallerAccess : Unsupported major.minor version 52.0”

From other blogs I could know that this would be caused due to JVM version miss match issue.

From linux machine:
[sandeep@localhost Downloads]$ java -version
openjdk version “1.8.0_191”
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

From /home/sandeep/webMethods/97/jvm/jvm:

release file:
JAVA_VERSION=“1.7.0”
OS_NAME=“Linux”
OS_VERSION=“2.6”
OS_ARCH=“amd64”

Could some one please help me on how to fix this error ?

Hi,

“Unsupported major.minor version 52.0” means that the IS is running in an older version of JVM (i.e. 1.7) and tries to execute a class, which was complied fo a newer version (i.e. 1.8.).

According to [url]https://en.wikipedia.org/wiki/Java_class_file[/url], the Version 52.0 is referring to Java 8 (aka 1.8).

You will have to apply the Fixes for wM 9.7 to migrate from JVM 1.7 to JVM 1.8.

When applying Fixes for the JVM, you will need two installations of UpdateManager and then apply the Java-Fix crosswise by pointing them to each others installation folder.

When there is an issue with the provided JVM and there is no newer Java Fix available for you wM version you can switch to another JVM installed on your system (i.e. by your Administrator) by pointing the setenv.sh and/or wrapper configuration files to the other directory where this jvm is installed.

Regards,
Holger

Check your machine JAVA version. Lower limit is 1.7.0_65 and Certified higher limit is 1.8.0.1. If you are using the same version whicis in system requirement https://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-7/SysReqs_Installation_and_Upgrade/9-7_System_Requirements.pdf then you should not face this error.

Thanks,
Manoj

Hi Sandeep,

I think you are using latest installer client which is compiled with Java 8 but the WM 9.7 delivers Java 1.7.

To fix this issue, please use previous version of Installer.

SoftwareAGInstaller20151015.exe or SoftwareAGInstaller201410.exe

Thanks,
Yogesh

1 Like

Thanks Yogesh …Your Advice worked.

Hi,

when using the EXE-Installer on Windows, this should contain the proper JVM-Version.

when using the JAR-Installer, you can provide a proper jvm version by prefix the java command with the path to the jvm:
“/bin/java -jar Installer.jar” -console instead of just “java -jar Installer.jar -console”.

This is neccessary when the image has been created with a newer installer as images can only be used with the installer version with which they have been created and with newer installer versions.

Addendum:
The EXE-Installer is the same version as the JAR-Installer, but has just an executable JVM wrapped around it.

Regards,
Holger

Hi,

I am new to web methods. I have created a java service names ‘concat1’. But while compiling I’m getting below error

Could not run ‘concat1’
com.wm.app.b2b.server.ServiceException: [ISS.0026.9102] Service ‘services:concat1’ is not operational. To run this service, first recompile the Java source.

Can anyone please help me to solve this issue.

Thank you.

Hi Puli,

please try to post this question in the “Flow and Java Services” forum as this thread is dealing with updating/upgrading the JVM itself.

To get the jave service compile just do some small modification to the service comment tab in Designer (and revert it) then save the service. Upon saving the service it gets compiled automatically.

Regards,
Holger