Ibm mq Windows Server MQ客户端与Unix MQ服务器交互

Ibm mq Windows Server MQ客户端与Unix MQ服务器交互,ibm-mq,Ibm Mq,我正在对一个新的Java MQ客户机需求进行大量分析,但我有一些疑问。当前在Unix系统队列队列管理器中,所有队列都是在运行MQ服务器的位置创建的 为了运行Java MQ客户端,我们将在其他Unix Solaris系统上安装MQ客户端。虽然我们有一台windows服务器,在unix系统上安装MQ客户端之前安装了MQ客户端,但我需要澄清一下 因为我是新来的 我们是否可以从windows server运行Java MQ客户端来连接MQ server unix系统(队列、Queuue管理器) 如果是,

我正在对一个新的Java MQ客户机需求进行大量分析,但我有一些疑问。当前在Unix系统队列队列管理器中,所有队列都是在运行MQ服务器的位置创建的

为了运行Java MQ客户端,我们将在其他Unix Solaris系统上安装MQ客户端。虽然我们有一台windows服务器,在unix系统上安装MQ客户端之前安装了MQ客户端,但我需要澄清一下

因为我是新来的

我们是否可以从windows server运行Java MQ客户端来连接MQ server unix系统(队列、Queuue管理器)

  • 如果是,将Windows Server连接到unix Solaris需要什么
  • 代码是使用MQ库编译的
  • 任何错误都会出现

  • 如果您提供步骤或解决方案,那就太好了。

    是的,您可以从任何机器运行Java MQ客户端,以连接到任何其他机器上的队列管理器。MQ客户端(Java、'C'或.NET版本)都支持任何平台到任何平台的组合,并且都支持任何MQ版本到任何MQ版本。例如,您可以让Windows上的V8客户端连接到Unix上的V9队列管理器。同样,您可以在Windows上有一个V9客户端连接到Unix上的V8队列管理器,也就是说,任何到任何版本都可以向上或向下

    为了将客户机连接到队列管理器,您需要客户机机器上的客户机库,在您的例子中是Java客户机

    您还需要确保队列管理器有一个正在运行的TCP/IP侦听器,并且您知道端口号

    您将需要队列管理器上名为SVRCONN的类型的通道定义,并知道其名称。e、 g

    DEFINE CHANNEL(MQGEM.SVRCONN) CHLTYPE(SVRCONN) DESCR('Channel for my client application to connect to')
    
    为了让Java客户机连接到队列管理器,需要使用

    • 频道名称
    • 运行队列管理器的计算机的主机名
    • TCP/IP侦听器的端口号
    如果遇到任何错误,它们可能与连接有关,因为您的应用程序是通过网络连接到队列管理器的。记住要注意从MQ获得的任何返回码,它们的形式为4位数字,例如2059。对于Java,您应该确保获得链接异常。查看队列管理器的错误日志也可能很有用


    如果这是您第一次使用IBM MQ,您还可能面临安全错误。队列管理器在默认情况下是锁定的,因此远程应用程序不能简单地连接并造成损坏(例如,从其他应用程序删除重要消息!)。这里有许多帖子描述了这些错误及其解决方案。最好的建议是从队列管理器获取MQRC代码(4位)和AMQERR01.LOG错误消息。有了这些信息,您应该能够描述和诊断您遇到的任何错误情况。

    谢谢您现在很好地解释了我的疑问cleared@Maxtech,我建议,正如你所说,答案解释得很好,你接受答案,我注意到你在这个网站上问了8个问题,但从来没有接受过答案,所以你可能不知道怎么回答。问题的左边是一个灰色的复选标记,如果你点击它,它将变成绿色,给你和莫拉格带来声誉。如果您对答案评价很高,也可以单击“向上箭头”进行投票。@Maxtech感谢您接受此答案。如果您想查看您提出的所有问题并接受其他问题的答案,您可以在此处看到完整的列表:您现在可能也有足够的代表进行投票;通过附加参数mqht,它显示错误看起来需要附加文件,导入com.ibm.mq.constants.CMQC目前也不受支持。我正在使用版本7.5 mq Jarg。再次感谢今天我在您和Morag那里学到了更多mq