IAPJMS process fails to start with JMSException : Unsupported major.minor version written to sw_error.log
book
Article ID: KB0080155
calendar_today
Updated On:
Products
Versions
TIBCO iProcess Engine (Oracle)
All supported versions
Description
When the TIBCO iProcess Engine processes are started all the processes start correctly except IAPJMS which has a SUSPENDED status.
The sw_error.log file will have messages such as:
2018/10/29 16:11:57(iapjms:::2::com.staffware.core.swprocess.library.SWProcessControl::206):1996-Failure in JPROC Layer [Couldn't initialise Java Process] [java.lang.UnsupportedClassVersionError: javax/jms/JMSException : Unsupported major.minor version 51.0] 2018/10/29 16:11:57.281407(IAPJMS:1:5280:2::::pro:iapjms.c:82343:310): 1996-Failure in JPROC Layer [Failed to start Java Layer] [-2] 2018/10/29 16:12:02.400232(PROCMGR:2:9124:1::::pro:pmstart.c:84226:2216): 1885-Failed to connect to monitor socket for process (LMID = 1, LPN = IAPJMS, LPI = 1). Socket error (Unknown error code: 0) on port number 61343.
The Unsupported major.minor version may not always be 51.0.
The iapjms_java.log will report an error such as:
2018-10-29 16:11:57,270 [ERROR] SWProcessControl - Unexpected exception while constructing SWProcessControl java.lang.UnsupportedClassVersionError: javax/jms/JMSException : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at com.staffware.core.iapjms.library.iapjmsserver.IAPJMSMain.initIAPJMSThreads(IAPJMSMain.java:250) at com.staffware.core.iapjms.library.iapjmsserver.IAPJMSMain.init(IAPJMSMain.java:361) at com.staffware.core.swprocess.library.SWProcessControl.<init>(SWProcessControl.java:141)
The problem is the result of the IAPJMS process not being able to load the correct version of Java.
This would normally be caused by the SWLIB_PATH process attribute having the wrong configuration.
Issue/Introduction
IAPJMS process fails to start with JMSException : Unsupported major.minor version written to sw_error.log
Environment
All supported versions and operating systems
Resolution
Update the SWLIB_PATH process attribute and assign it the value where the IAPJMS process will look for the Java libraries that it needs.
For example:
swadm set_attribute 0 ALL 0 SWLIB_PATH "C:\swserver\staffw_jhtest\java\bin\client"
Refer to the SWLIB_PATH section in the Administering Process Attributes chapter of the TIBCO iProcess Engine Administrator’s Guide.