IAPJMS process fails to start with JMSException : Unsupported major.minor version written to sw_error.log

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.

Additional Information

TIBCO iProcess Engine Administrator’s Guide

https://docs.tibco.com/pub/ipe-oracle/11.6.1/doc/html/wwhelp/wwhimpl/js/html/wwhelp.htm#href=tib_ipe_admin_guide/adm_prat.10.115.htm#1540124