How does jms work with tibco?

I have a Java application that subscribes to a JMS theme application that sometimes raises the following exception:

javax.jms.JMSException: Connection has been terminated
at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:470)
at com.tibco.tibjms.TibjmsConnection._onDisconnected(TibjmsConnection.java:1946)
at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.work(TibjmsxLinkTcp.java:314)
at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.run(TibjmsxLinkTcp.java:250)

This piece of code was handed to me after it was untouched for 2 years. My JMS knowledge is very limited. This is maven-ized, but there are no links to any libraries tibko. I'm trying to figure out how to get tibco exceptions when there is no reference to tibco in the codebase?

I see, however, a set of system variables called LD_LIBRARY_PATH that points to some libraries tibko.

Can anyone experience some light with the JMS shell as to what might be happening here? A search of the codebase shows that there is no import tibko, only javax.jms.

Is it possible that they are somehow wrapped in LD_LIBRARY_PATH with jni or something else?

+5
source share
2 answers

The JMS standard is an API standard. Applications written using the standard do not need to refer to classes from any particular JMS implementation. Instead, JNDI is used to get the factory ( example ) connection . The goal is that the JMS implementation used can be changed using configuration, not code change.

Regarding LD_LIBRARY_PATH, EMS uses JNI, and LD_LIBRARY_PATH is needed, so the EMS ATM used by your application can find its own library.

+8
source

Connection completed

This does not mean that your jms code has some problems, only the EMS server reducing the connection due to some other problems such as heartbeat issues, etc.

0
source

All Articles