WebSphere MQ 问题和变通方法

 

与 WebSphere MQ 相关的问题和变通方法包括如下内容:

  • 问题:创建队列管理器时出错。 Amqerr*.log 文件中的错误如下:
    AMQ9213: A communications error for TCP/IP occurred.
    解释:
    通信中出现意外的错误。
    操作:
    来自 TCP/IP(ioctlsocket)的返回码调用是 10038(X'2736')。记录
    这些值,并告诉系统管理员。

    变通方法:10038 返回码指明,WebSphere MQ 侦听器池在把初始套接字从侦听器传递到池中时遇到问题。在带有防火墙的环境中,非常常见。要变通问题,禁用带有下列环境变量的池:

    set MQNOREMPOOL=1
  • 问题:错误消息表明 WebSphere MQ 队列连接的问题,可能在 SendMessage 端。队列连接的出厂设置与目标队列设置均正确,但工作流(itim_wf)和工作流暂挂(itim_wf_pending)队列处于不正确状态或不可用状态。

    某些错误消息可能包含以下内容:

    CNTR0019E:处理方法“send”时出现非应用程序异常。异常数据:(未显示数据...)
    连接管理器从资源适配器接收到资源 JMS$ITIM Queue Connection Factory$JMSManagedConnection@1010457898 的致命连接错误。
    接收到的异常是 javax.jms.JMSException:MQJMS2008:未能打开 MQ 队列

    变通方法:如使用 AIX 的示例,执行以下步骤重新创建 WebSphere MQ 队列:

    1. /usr/WebSphere/AppServer 目录中,输入以下命令:
      deletemq.sh

      提供单元名、节点名和队列名称。您可以在 createMQ.nodename_jmsserver.log 文件的 /usr/WebSphere/AppServer/logs 目录中找到这些值。例如,输入:

      ./deletemq.sh ITIM-45AIXCluster1 faith jmsserver

      确保没有 mqm 进程继续运行。如果进程仍在运行,请重新引导计算机。

    2. /usr/WebSphere/AppServer 目录中,输入以下命令:
      createmq.sh

      提供单元名、节点名和队列名称。您可以在 createMQ.nodename_jmsserver.log 文件的 /usr/WebSphere/AppServer/logs 目录中找到这些值。例如,输入:

      ./createmq.sh ITIM-45AIXCluster1 faith jmsserver

      重新启动 JMS 服务器。

  • 问题:出现丢失 WebSphere MQ 连接。尽管有足够的可用磁盘空间和实内存,但系统仍发出以下错误消息:
    AMQ7463:队列管理器的日志 WAS_timwin7_jmsserver 已满。

    此外,出现一个如下的消息,消息与资源用尽的情况相关:

    MQJE001:完成码 2,原因 2102

    变通方法:当由于日志已满,尝试写入一个日志记录被拒绝时,发布 AMQ7463 消息。队列管理器将尝试解决此问题。

    在消息流量高得反常的期间可能遇到这种状况。然而,如果您坚持填充日志,您必须考虑以下步骤:

    • 通过更改队列管理器配置文件中的值来增加日志文件的数目。然后,您必须停止并重新启动队列管理器。
    • 或者,使日志文件自己增大。您必须删除并重新创建队列管理器。
  • 问题:尝试创建队列连接时,出现以下 JMS 异常:
    MQJMS2005:无法为 '_server1' 创建 MQQueueManager

    变通方法:无。由于向队列管理器建立了一个客户机(信道)连接,即使 WebSphere MQ(此时是嵌入消息服务器)和 WebSphere Application Server 位于同一台机器上,也可能偶尔出现网络问题。如果使用绑定连接,可能不会发生此问题。然而,嵌入式消息传递服务器使用的是客户机连接,并且这不是一个可配置的选项。

你可能感兴趣的:(WebSphere MQ 问题和变通方法)