jms如何与tibco合作?

kku*_*udi 6 tibco jms tibco-ems

我有一个Java应用程序订阅JMS主题应用程序,偶尔会出现以下异常:

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)
Run Code Online (Sandbox Code Playgroud)

在这段代码被触及2年后,我已经把这段代码交给了我.我的JMS知识非常有限.它是maven-ized,但它没有任何参考任何tibco库.我试图了解在代码库中没有tibco参考时如何获得tibco异常?

但我确实看到一个名为LD_LIBRARY_PATH的系统变量集,它指向一些tibco库.

有经验的JMS可以了解一下这里可能发生的事情吗?搜索代码库显示没有tibco导入,只有javax.jms.

它们是否有可能使用jni或其他东西用LD_LIBRARY_PATH包装?

Tom*_*ard 8

JMS标准是API标准.使用该标准编写的应用程序不需要引用任何特定JMS实现的类.相反,JNDI用于获取连接工厂(示例).目的是通过配置可以更改所使用的JMS实现,而不必更改代码.

关于LD_LIBRARY_PATH,EMS使用JNI并且需要LD_LIBRARY_PATH,因此应用程序使用的EMS jar可以找到本机库.