MQ与WLS外部服务器

时间:2010-09-13 11:37:06

标签: weblogic ibm-mq weblogic11g

当我尝试连接到通过创建外部服务器从Weblogic Server(WLS)部署在远程服务器上的MQ时,我遇到了两个问题。 1.当我尝试在Bindings模式下连接到MQ Queuemanager时(在导入.Bindings文件之后),我在WLS控制台中不断收到以下错误:

  

java.lang.UnsatisfiedLinkError:java.library.path中没有mqjbnd05

  1. 如果我将传输切换到客户端我会继续:
  2.   

    JMSWMQ0018:使用连接模式'Client'和主机名'localhost'连接到队列管理器失败。检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有运行的侦听器。有关详细信息,请参阅链接的例外。

    有没有人看过这个,是否有任何性能影响要求使用客户端而不是绑定,反之亦然?

    TIA

2 个答案:

答案 0 :(得分:1)

如果问题表明我尝试连接到从Weblogic Server部署在远程服务器上的MQ ,我认为这意味着WLS和WMQ位于两个不同的主机上。如果是这种情况,那么绑定模式连接(依赖于共享内存段)将不起作用。

客户端模式连接似乎使用指向localhost的CF而不是WMQ服务器的IP或主机名。这适用于与队列管理器位于同一主机上的应用程序,但不适用于app和QMgr位于不同服务器上的情况。

就在客户端和绑定模式之间进行选择,答案是如果QMgr是本地使用绑定。这提供了最高的可靠性,最佳性能和XA事务性。使用客户端模式时,如果没有扩展事务客户端,则不支持两阶段XA提交。根据JMS规范,如果应用程序在COMMIT调用期间丢失连接,则存在歧义。根据应用程序的处理方式,最终可能会出现重复的消息。 (JMS规范将这些称为“功能重复”。)由于没有网络延迟甚至没有任何IP堆栈遍历或者没有任何网络延迟,因此这种模糊性很少不太可能发生绑定模式连接。接口。所以尽可能使用绑定模式。

<强>更新
删除了有关扩展交易客户端作为收费组件的说明。 As of April 24th,XTC对所有平台上的所有WMQ版本都是免费的。

答案 1 :(得分:1)

最后我能够解决这个问题,我不得不在客户端模式下重新创建.bindings文件,更改了IVTsetup.bat,这很可能是 C:\ Program Files \ IBM \ WebSphere MQ \ java \ bin,我必须运行它 def qcf(psQCF)TRANSPORT(CLIENT)HOST(SMEKA)PORT(1415)CHANNEL(ps_SRV_CHANNEL)QMGR(psQM) 生成.bindings文件。

有关详细信息,请参阅此链接:

  

http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/peoplesoft/peopleso103.htm