JMSADMIN utility generates a “Client versions of queue browser no longer supported” exception

JMSADMIN utility generates a “Client versions of queue browser no longer supported” exception

book

Article ID: KB0079713

calendar_today

Updated On:

Products Versions
TIBCO iProcess Technology Plug-ins 11.6.x

Description

The jmsadmin utility is used to import the JMS Endpoint data from an XML file.

The jmsadmin utility displays the message:

    Root Cause:
    Client versions of queue browser no longer supported
    Exception
    com.staffware.integration.alias.library.jms.TestJMSException: 03:JMSException



The exception in the iProcess eaijava log is:

2018-12-19 13:56:50,503 [ERROR] SWTestJMS - Unable to send/receive JMS message - JMSException
javax.jms.JMSException: Client version of queue browser no longer supported
    at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:588)
    at com.tibco.tibjms.TibjmsxSessionImp._createBrowser(TibjmsxSessionImp.java:1080)
    at com.tibco.tibjms.TibjmsxSessionImp.createBrowser(TibjmsxSessionImp.java:4414)
    at com.tibco.tibjms.TibjmsQueueSession.createBrowser(TibjmsQueueSession.java:48)
    at com.staffware.integration.alias.library.jms.jmx.SWTestJMS.testDestination(SWTestJMS.java:399)
    at com.staffware.integration.alias.library.jms.jmx.SWTestJMS.testConnection(SWTestJMS.java:944)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:88)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:87)
    at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:291)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:124)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:58)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:249)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:150)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:264)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:831)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:813)
    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1498)
    at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:108)
    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1339)
    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1431)
    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:859)
    at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:618)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:339)
    at sun.rmi.transport.Transport$1.run(Transport.java:189)
    at sun.rmi.transport.Transport$1.run(Transport.java:186)
    at java.security.AccessController.doPrivileged(AccessController.java:366)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:185)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:823)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)
    at java.lang.Thread.run(Thread.java:804)

Issue/Introduction

Importing an XML file using the jmsadmin utility generates the error: "Client versions of queue browser no longer supported"

Environment

TIBCO iProcess Technology Plug-ins 11.4.1 and above

Resolution

The error is generated due to a mismatch between the version of the EMS Server and the version of the EMS Client JAR files installed in the iProcess engine.

The EMS Client JAR files in iProcess are locate under SWDIR/jmslib/ems

The recommendation (wherever possible) is to use the EMS Client Jar files from the EMS server – this ensures compatibility.

The EMS Client JAR files can be sourced from the EMS server installation under the EMS lib directory / folder.


The resolution is to update the EMS Client JAR files under SWDIR/jmslib/ems

The procedure is:
1 Make a backup of SWDIR/jmslib/ems
2 Stop iProcess
3 Delete the EMS Client JAR files under SWDIR/jmslib/ems
4 Copy the compatible EMS Client JAR files to SWDIR/jmslib/ems
5 Start iProcess


 
The TIBCO iProcess Technology Plug-in Installation Guide lists the required EMS Client JAR files.

To determine the version of the EMS Client JAR file tibjms.jar in iProcess:
1 Change directory to SWDIR/jmslib/ems
2 Run the command:
    java -cp ./tibjms.jar com.tibco.tibjms.version

The version is displayed
    For example:

        TIBCO Enterprise Message Service
        Copyright 2003-2016 by TIBCO Software Inc.
        All rights reserved.
        Version 8.3.0 V14 3/9/2016

Additional Information

TIBCO iProcess Technology Plug-in Installation Guide