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.
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.
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.
Transfer two images and installer to the server.
Install new SUM with installer from first image in different folder. C:\SUM98 in my case.
Use new SUM and second image with fixes to upgrade your Java. SAG root folder was C:\SoftwareAG in my case.
Check logs for some post upgrade task like DB tables migration, etc.
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)
“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.).
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.
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.
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.
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.