com.ibm.mq

类 MQQueueManager



  • 公用类 MQQueueManager
    扩展 MQManagedObject
    MQQueueManager 类提供与 IBM MQ 队列管理器的连接。

    MQQueueManager 对象 (以及通过它访问的任何队列或进程) 可以在多个线程之间共享,但请注意,对 IBM MQ 队列管理器本身的访问是同步的,因此只有一个线程可以在任何时候与它通信。 因此,对 MQQueue.get()指定 CMQC.MQGMO_WAIT(例如) 的调用将阻止任何其他线程尝试使用同一 MQQueueManager 进行 IBM MQ 调用,直到 get 完成为止。

    • 构造函数摘要

      构造函数 
      构造函数和描述
      MQQueueManager(java.lang.String queueManagerName)
      创建与指定队列管理器的连接。
      MQQueueManager(java.lang.String queueManagerName, java.util.Hashtable properties)
      使用 Hashtable 创建与指定队列管理器的连接。
      MQQueueManager(java.lang.String queueManagerName, java.util.Hashtable properties, com.ibm.mq.MQConnectionManager connectionManager)
      创建与队列管理器的连接,该连接将使用给定 Hashtable 中的设置覆盖 MQEnvironment类中的设置。
      MQQueueManager(java.lang.String queueManagerName, java.util.Hashtable properties, java.net.URL url)
      使用通道定义表创建与指定队列管理器的连接。
      MQQueueManager(java.lang.String queueManagerName, int options)
      创建与指定队列管理器的连接,指定绑定选项。
      MQQueueManager(java.lang.String queueManagerName, int options, com.ibm.mq.MQConnectionManager connectionManager)
      创建与队列管理器的连接,以允许指定绑定选项。
      MQQueueManager(java.lang.String queueManagerName, com.ibm.mq.MQConnectionManager connectionManager)
      使用连接管理器创建与指定队列管理器的连接。
      MQQueueManager(java.lang.String queueManagerName, java.net.URL url)
      使用通道定义表创建与指定队列管理器的连接。
      MQQueueManager(java.lang.String queueManagerName, java.net.URL url, com.ibm.mq.MQConnectionManager connectionManager)
      使用客户机通道定义表创建与指定队列管理器的连接。
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法和描述
      MQDistributionList accessDistributionList(MQDistributionListItem[] items, int options)
      使用缺省备用用户标识创建分发列表。
      MQDistributionList accessDistributionList(MQDistributionListItem[] items, int options, java.lang.String id)
      创建分发列表。
      MQProcess accessProcess(java.lang.String processName, int openOptionsArg)
      使用缺省队列管理器名称和备用用户标识值访问此队列管理器上的 IBM MQ 进程。
      MQProcess accessProcess(java.lang.String processName, int openOptionsArg, java.lang.String queueManagerName, java.lang.String alternateUserIdArg)
      在此队列管理器上建立对 IBM MQ 进程的访问权,以便查询进程属性。
      MQQueue accessQueue(java.lang.String queueName, int openOptionsArg)
      使用缺省队列管理器名称和备用用户标识值来建立对此队列管理器上的 IBM MQ 队列的访问权。
      MQQueue accessQueue(java.lang.String queueName, int openOptionsArg, java.lang.String queueManagerName, java.lang.String dynamicQueueName, java.lang.String alternateUserIdArg)
      在此队列管理器上建立对 IBM MQ 队列的访问权,以便获取或浏览消息,放入消息,查询队列的属性或设置队列的属性。
      MQTopic accessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName, java.util.Hashtable<java.lang.String,java.lang.Object> parameters)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(java.lang.String topicName, java.lang.String topicObject, int openAs, int options)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(java.lang.String topicName, java.lang.String topicObject, int openAs, int options, java.lang.String altUserId)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName)
      建立对 IBM MQ 主题的访问权。
      MQTopic accessTopic(java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName, java.util.Hashtable<java.lang.String,java.lang.Object> parameters)
      建立对 IBM MQ 主题的访问权。
      void backout()
      向队列管理器指示将回退自上次同步点以来发生的所有消息获取和放入。
      void begin()
      开始新的工作单元。
      void commit()
      向队列管理器指示应用程序已达到同步点。
      void disconnect()
      结束与队列管理器的连接。
      MQAsyncStatus getAsyncStatus()
      从队列管理器请求异步错误状态。
      java.net.URL getCCDTURL()
      返回通道定义文件的 URL ,如果该文件不存在,那么返回空值。
      int getCharacterSet()
      获取队列管理器的代码集的 CCSID (编码字符集标识)。
      java.lang.String getCommandInputQueueName()
      获取队列管理器上定义的命令输入队列的名称。
      int getCommandLevel()
      指示队列管理器支持的系统控制命令的级别。
      boolean getDistributionListCapable()
      指示队列管理器是否支持分发列表。
      java.sql.Connection getJDBCConnection(javax.sql.XADataSource xads)
      返回要与 JTA-JDBC 支持配合使用的 Connection 对象。
      java.sql.Connection getJDBCConnection(javax.sql.XADataSource xads, java.lang.String userid, java.lang.String password)
      注册数据库以进行协调。
      int getMaximumMessageLength()
      获取队列管理器可以处理的消息的最大长度。
      int getMaximumPriority()
      获取队列管理器支持的最大消息优先级。
      int getSyncpointAvailability()
      指示队列管理器是否支持工作单元以及与 MQQueue.get()MQQueue.put() 方法同步。
      boolean isConnected()
      指示此对象当前是否已连接到 IBM MQ 队列管理器。
      void put(int type, java.lang.String destinationName, MQMessage message)
      将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。
      void put(int type, java.lang.String destinationName, MQMessage message, MQPutMessageOptions putMessageOptions)
      将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。
      void put(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message)
      将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。
      void put(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message, MQPutMessageOptions putMessageOptions)
      将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。
      void put(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message, MQPutMessageOptions putMessageOptions, java.lang.String altUserId)
      将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。
      void put(java.lang.String qName, MQMessage msg)
      将单个消息放入 (可能未打开) 队列。
      void put(java.lang.String qName, MQMessage msg, MQPutMessageOptions pmo)
      将单个消息放入 (可能未打开) 队列。
      void put(java.lang.String qName, java.lang.String qmName, MQMessage msg)
      将单个消息放入 (可能未打开) 队列。
      void put(java.lang.String qName, java.lang.String qmName, MQMessage msg, MQPutMessageOptions pmo)
      将单个消息放入 (可能未打开) 队列。
      void put(java.lang.String qName, java.lang.String qmName, MQMessage msg, MQPutMessageOptions pmo, java.lang.String altUserId)
      将单个消息放入 (可能未打开) 队列。
      java.lang.String toString()
      以 JSON 格式 ObjectId 作为 className 和十六进制标识 ConnectionId 以十六进制格式 ConnectionMode 表示有关连接的关键信息,如在连接时指定的 "仅适用于客户机连接的主机" ,但可能显示为仅适用于客户机连接的绑定端口。 但对于绑定 QueueManager ,可能会显示为在连接时指定的 ResolvedQueueManager 可能与 QueueManager 不同 (如果使用了 CCDT)
      • 从类 com.ibm.mq.jmqi.JmqiObject 继承的方法

        getJmqiEnvironment
      • 从类 java.lang.Object 继承的方法

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 字段详细信息

      • isConnected

        公共布尔值 isConnected
        不推荐使用。 请改为使用 isConnected() 方法。
        指示此 MQQueueManager 对象当前是否已连接到 IBM MQ 队列管理器。 使用 disconnect() 方法与队列管理器断开连接。
    • 构造函数详细信息

      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称)
                       抛出 MQException
        创建与指定队列管理器的连接。

        要在连接请求期间使用的主机名,通道名称和端口在 MQEnvironment类中指定。 在调用此构造函数之前,必须完成此操作。

        以下示例显示了与队列管理器 "MYQM" 的连接,该队列管理器在主机名为 "fred.mq.com" 的系统上运行。

         <CODE>
         MQEnvironment.hostname = "fred.mq.com"; // 要连接到的主机
         MQEnvironment.port = -1; // 要连接到的端口。  如果未设置,那么此
         // 对于 IBMMQ 客户机连接,缺省为 1414。
         MQEnvironment.channel = "channel.name"; // SVRCONN 通道的 CASE-SENSITIVE 名称
         // 在队列管理器上
         MQQueueManager qMgr = 新的 MQQueueManager("MYQM");
         </CODE>
         

        如果队列管理器名称为空或空白,那么将与缺省队列管理器建立连接。

        参数:
        queueManagerName -要连接的队列管理器的名称。
        抛出:
        MQException -如果存在连接问题。
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              java.util.Hashtable 属性)
                       抛出 MQException
        使用 Hashtable 创建与指定队列管理器的连接。 Hashtable 将覆盖 MQEnvironment中保存的规范。
        参数:
        queueManagerName -队列管理器的名称。
        properties -连接属性。
        抛出:
        MQException -如果存在连接问题。
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              com.ibm.mq.MQConnectionManager connectionManager)
                       抛出 MQException
        使用连接管理器创建与指定队列管理器的连接。
        参数:
        queueManagerName -队列管理器的名称。
        connectionManager -将处理此连接的连接管理器。
        抛出:
        MQException -如果存在连接问题。
        另请参阅:
        MQSimpleConnectionManager
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              java.util.Hashtable 属性,
                              com.ibm.mq.MQConnectionManager connectionManager)
                       抛出 MQException
        创建与队列管理器的连接,该连接将使用给定 Hashtable 中的设置覆盖 MQEnvironment类中的设置。
        参数:
        queueManagerName -队列管理器的名称。
        properties -连接属性。
        connectionManager -将处理此连接的连接管理器。
        抛出:
        MQException -如果存在连接问题。
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              java.net.URL URL)
                       抛出 MQException
        使用通道定义表创建与指定队列管理器的连接。 使用客户机通道定义表可定义备用通道定义。 构造函数从表中选择一组定义,当打开通道时,将使用这些定义来代替 MQEnvironment类中保留的任何设置。
        参数:
        queueManagerName -选择通道定义时使用的队列管理器。 可以采用以下格式:
        • "qMgrName" ,传递所需队列管理器的实际名称。 通道必须连接到此名称的队列管理器。
        • "*qMgrName" ,其中传入 "*" 后跟所需队列管理器的实际名称。 使用的通道定义必须指定此队列管理器名称。 在连接期间,此全名将传递到 queueManager 上,但最终连接到的队列管理器可能与此处在 "*" 之后指定的名称不同。
        • 传入 "*" 或 "" 或完全由空格组成的名称。 选择通道定义时,将忽略实际队列管理器名称。
        url - URL ,用于指定要用于连接到队列管理器的通道定义文件。
        抛出:
        MQException -如果存在连接问题。
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              java.util.Hashtable 属性,
                              java.net.URL URL)
                       抛出 MQException
        使用通道定义表创建与指定队列管理器的连接。 使用客户机通道定义表可定义备用通道定义。 构造函数从表中选择一组定义,当打开通道时,将使用这些定义来代替 MQEnvironment类中保留的任何设置。 可以随此构造函数提供由客户机通道定义表定义的属性以外的属性。
        参数:
        queueManagerName -选择通道定义时使用的队列管理器。 可以采用以下格式:
        • "qMgrName" ,传递所需队列管理器的实际名称。 通道必须连接到此名称的队列管理器。
        • "*qMgrName" ,其中传入 "*" 后跟所需队列管理器的实际名称。 使用的通道定义必须指定此队列管理器名称。 在连接期间,此全名将传递到 queueManager 上,但最终连接到的队列管理器可能与此处在 "*" 之后指定的名称不同。
        • 传入 "*" 或 "" 或完全由空格组成的名称。 选择通道定义时,将忽略实际队列管理器名称。
        properties -要用于与实际使用的客户机通道定义中定义的属性建立连接的属性的散列表。 将忽略对此类型的连接无效的任何属性。
        url - URL ,用于指定要用于连接到队列管理器的通道定义文件。
        抛出:
        MQException -如果存在连接问题。
      • MQQueueManager

        public MQQueueManager(java.lang.String queueManager名称,
                              java.net.URL url ,
                              com.ibm.mq.MQConnectionManager connectionManager)
                       抛出 MQException
        使用客户机通道定义表创建与指定队列管理器的连接。 使用客户机通道定义表可定义备用通道定义。 构造函数从表中选择一组定义,当打开通道时,将使用这些定义来代替 MQEnvironment类中保留的任何设置。
        参数:
        queueManagerName -选择通道定义时使用的队列管理器。 可以采用以下格式:
        • "qMgrName" ,传递所需队列管理器的实际名称。 通道必须连接到此名称的队列管理器。
        • "*qMgrName" ,其中传入 "*" 后跟所需队列管理器的实际名称。 使用的通道定义必须指定此队列管理器名称。 在连接期间,此全名将传递到 queueManager 上,但最终连接到的队列管理器可能与此处在 "*" 之后指定的名称不同。
        • 传入 "*" 或 "" 或完全由空格组成的名称。 选择通道定义时,将忽略实际队列管理器名称。
        url - URL ,用于指定要用于连接到队列管理器的通道定义文件。
        connectionManager -连接管理器。
        抛出:
        MQException -如果存在连接问题。
    • 方法详细信息

      • getJDBCConnection

        public java.sql.Connection getJDBCConnection(javax.sql.XADataSource xads)
                                              抛出 MQException,
                                                     java.sql.SQLException,
                                                     javax.transaction.xa.XAException
        返回要与 JTA-JDBC 支持配合使用的 Connection 对象。
        参数:
        xads -特定于数据库的 XADataSource 接口实现,用于定义要连接到的数据库的详细信息。 请参阅数据库的文档,以确定如何创建相应的 XADataSource 对象以传递到此方法中。
        返回:
        用于 JTA-JDBC 支持的连接。
        抛出:
        MQException -如果发生 IBM MQ 故障。
        java.sql.SQLException -如果获取 Connection 对象时发生问题。
        javax.transaction.xa.XAException -如果将连接与工作单元关联时发生问题
      • getJDBCConnection

        public java.sql.Connection getJDBCConnection(javax.sql.XADataSource xads ,
                                                     java.lang.String 用户标识,
                                                     java.lang.String 密码)
                                              抛出 MQException,
                                                     java.sql.SQLException,
                                                     javax.transaction.xa.XAException
        注册数据库以进行协调。 用于在调用 begin()之后创建由队列管理器协调的 JDBC 连接。
        参数:
        xads -定义数据库详细信息的 XADataSource 接口的特定于数据库的实现。 请参阅数据库的文档,以确定如何创建相应的 XADataSource 对象以传递到此方法中。
        userid -用于连接到数据库的用户标识。
        password -用于连接到数据库的密码。
        返回:
        用于 JTA-JDBC 支持的连接。
        抛出:
        MQException -如果发生 IBM MQ 故障。
        java.sql.SQLException -如果获取 Connection 对象时发生问题。
        javax.transaction.xa.XAException -如果将连接与工作单元关联时发生问题
      • isConnected

        public boolean isConnected()
        指示此对象当前是否已连接到 IBM MQ 队列管理器。 使用 disconnect()与队列管理器断开连接。
        返回:
        true (如果已连接)。
      • getCharacter集

        public int getCharacterSet ()
                            抛出 MQException
        获取队列管理器的代码集的 CCSID (编码字符集标识)。 这将定义队列管理器用于应用程序编程接口中所有字符串字段的字符集。
        返回:
        CCSID。
        抛出:
        MQException -如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
      • getMaximumMessageLength

        public int getMaximumMessageLength()
                                    抛出 MQException
        获取队列管理器可以处理的消息的最大长度。 不能定义最大消息长度大于此长度的队列。
        返回:
        最大消息长度 (以字节计)。
        抛出:
        MQException -如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
      • getCommand级别

        public int getCommandLevel ()
                            抛出 MQException
        指示队列管理器支持的系统控制命令的级别。 对应于特定命令级别的系统控制命令的集合根据运行队列管理器的平台而有所不同。 请参阅 IBM MQ Application Programming Reference
        返回:
        CMQC.MQCMDL_LEVEL_1CMQC.MQCMDL_LEVEL_600之间的值。
        抛出:
        MQException -如果在与队列管理器断开连接后调用此方法以指示连接不再有效。
      • getCommandInputQueue名称

        public java.lang.String getCommandInputQueueName ()
                                                  抛出 MQException
        获取队列管理器上定义的命令输入队列的名称。 这是应用程序可以向其发送命令的队列 (如果已授权)。
        返回:
        命令输入队列的名称。
        抛出:
        MQException -如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
      • getMaximum优先级

        public int getMaximumPriority ()
                               抛出 MQException
        获取队列管理器支持的最大消息优先级。 优先级范围从 0 (最低) 到该值。
        返回:
        最大消息优先级。
        抛出:
        MQException -如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
      • getDistributionListCapable

        public boolean getDistributionListCapable()
        指示队列管理器是否支持分发列表。
        返回:
        true (如果支持分发列表)。
      • 断开连接 (disconnect)

        公用空断开连接 ()
                        抛出 MQException
        结束与队列管理器的连接。 通过此队列管理器访问的所有开放式队列和进程都将关闭并变为不可用。 重新连接的唯一方法是创建新的 MQQueueManager 对象。
        抛出:
        MQException -如果 MQ 断开连接调用失败。
      • 回退 (backout)

        public void backout ()
                     抛出 MQException
        向队列管理器指示将回退自上次同步点以来发生的所有消息获取和放入。 将删除作为工作单元的一部分发送的消息 (在 MQPutMessage选项的选项字段中设置了 CMQC.MQPMO_SYNCPOINT标志)。 在工作单元中检索的消息 (在 MQGetMessageOptions.options中设置了 CMQC.MQGMO_SYNCPOINT标志) 将在队列中恢复。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        commit()
      • 开始

        public void begin ()
                   抛出 MQException
        开始新的工作单元。 此方法仅受绑定连接中的 IBM MQ 支持。 它向队列管理器发出信号,指示要开始新的工作单元。
        抛出:
        MQException -如果调用失败

        此方法的错误行为在 MQ V 6 和 V 7 之间已更改。 如果在版本 6 上的共享连接 (大多数平台上的缺省值) 上调用,那么将抛出 MQException ,原因码为 2121 (即MQRC_NO_EXTERNAL_资助程序)。版本 7 上的相同错误将导致抛出 MQException ,原因为 2018 (即 MQRC_HCONN_ERROR)

      • put

        public void put (java.lang.String qName,
                        java.lang.String qmName,
                        MQMessage 消息,
                        MQPutMessage选项
                        java.lang.String altUser标识)
                 抛出 MQException
        将单个消息放入 (可能未打开) 队列。 如果指定了发送出口,那么它会在发送消息之前对其进行处理。 有关更多信息,请参阅 IBM MQ Application Programming Reference 中 MQPUT1 的描述。
        参数:
        qName -将消息放入的队列的名称。
        qmName -用于存放队列的队列管理器的名称。
        msg -要发送的消息。
        pmo -要使用的放置消息选项。
        altUserId -放置消息时要使用的备用用户标识。
        抛出:
        MQException -如果 IBM MQ put 调用失败。
      • put

        public void put (java.lang.String qName,
                        java.lang.String qmName,
                        MQMessage 消息,
                        MQPutMessage选项 pmo)
                 抛出 MQException
        将单个消息放入 (可能未打开) 队列。 如果指定了发送出口,那么它会在发送消息之前对其进行处理。
        参数:
        qName -将消息放入的队列的名称。
        qmName -保存队列的队列管理器的名称。
        msg -要发送的消息。
        pmo -要使用的放置消息选项。
        抛出:
        MQException -如果 IBM MQ put 调用失败。
      • put

        public void put (java.lang.String qName,
                        java.lang.String qmName,
                        MQMessage 消息)
                 抛出 MQException
        将单个消息放入 (可能未打开) 队列。 如果指定了发送出口,那么它会在发送消息之前对其进行处理。
        参数:
        qName -将消息放入的队列的名称。
        qmName -用于存放队列的队列管理器的名称。
        msg -要发送的消息。
        抛出:
        MQException -如果 IBM MQ put 调用失败。
      • put

        public void put (java.lang.String qName,
                        MQMessage 消息,
                        MQPutMessage选项 pmo)
                 抛出 MQException
        将单个消息放入 (可能未打开) 队列。 如果指定了发送出口,那么它会在发送消息之前对其进行处理。
        参数:
        qName -将消息放入的队列的名称。
        msg -要发送的消息。
        pmo -要使用的放置消息选项。
        抛出:
        MQException -如果 IBM MQ put 调用失败。
      • put

        public void put (java.lang.String qName,
                        MQMessage 消息)
                 抛出 MQException
        将单个消息放入 (可能未打开) 队列。 如果指定了发送出口,那么它会在发送消息之前对其进行处理。
        参数:
        qName -将消息放入的队列的名称。
        msg -要发送的消息。
        抛出:
        MQException -如果 IBM MQ put 调用失败。
      • put

        public void put (int 类型,
                        java.lang.String destinationName,
                        MQMessage 消息)
                 抛出 MQException
        将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。

        用于将消息放入队列时,允许您省略队列管理器名称,放置消息选项和备用用户标识。 用于将消息发布到主题时,允许您省略主题字符串,放置消息选项和备用用户标识。

        根据 type 参数中指定的目标类型, destinationName 参数将采用不同的含义。

        用于未指定参数的缺省选项可能根据指定的目标类型而改变。

        请注意,对于所有平台,缺省同步点为 CMQC.MQPMO_NO_SYNCPOINT

        参数:
        type -用于控制指定目标类型的选项。 有效值包括:只应指定一个选项-不得通过添加或使用按位 OR 运算符来组合值。

        稍后可扩展这些选项以包含新的目标类型,例如多点广播地址等。

        destinationName -要放置或发布消息的队列或主题的名称。 根据 type 参数的值,此参数将采用不同的含义:
        • 如果指定了 CMQC.MQOT_Q ,那么 destinationName 参数将直接映射到队列名称,即 MQOD.ObjectName
        • 如果指定了 CMQC.MQOT_TOPIC ,那么 destinationName 参数将直接映射到主题对象,即 MQSD.getObjectName() (主题对象 ObjectName 属性留空)。
        message -要发送的消息。 由于将消息放置或发布到队列或主题,可能会更改消息中的属性。 因此,它被标记为输入和输出参数。
        抛出:
        MQException -如果调用失败。
      • put

        public void put (int 类型,
                        java.lang.String destinationName,
                        MQMessage 消息,
                        MQPutMessage选项 putMessage选项)
                 抛出 MQException
        将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。

        用于将消息放入队列时,允许您省略队列管理器名称和备用用户标识。 当用于将消息发布到主题时,允许您省略主题字符串和备用用户标识。

        将消息放入队列或主题时,将使用 putMessageOptions 参数中指定的选项。 这些选项将根据指定的目标类型而有所不同。

        根据 type 参数中指定的目标类型, destinationName 参数将采用不同的含义。

        请注意,对于所有平台,缺省同步点为 CMQC.MQPMO_NO_SYNCPOINT

        参数:
        type -用于控制指定目标类型的选项。 有效值包括:只应指定一个选项-不得通过添加或使用按位 OR 运算符来组合值。

        稍后可扩展这些选项以包含新的目标类型,例如多点广播地址等。

        destinationName -要放置或发布消息的队列或主题的名称。 根据 type 参数的值,此参数将采用不同的含义:
        • 如果指定了 CMQC.MQOT_Q ,那么 destinationName 参数将直接映射到队列名称,即 MQOD.ObjectName
        • 如果指定了 CMQC.MQOT_TOPIC ,那么 destinationName 参数将直接映射到主题对象,即 MQSD.getObjectName() (主题对象 ObjectName 属性留空)。
        message -要发送的消息。 由于将消息放置或发布到队列或主题,可能会更改消息中的属性。 因此,它被标记为输入和输出参数。
        putMessageOptions -用于控制 put 或 publish 操作的选项。 发布到主题时提供了其他选项。 这些属性与 MQPutMessageOptions.optionsMQPutMessageOptions.resolvedQueueNameMQPutMessageOptions.resolvedQueueManagerName 属性的使用相关。
        抛出:
        MQException -如果调用失败。
      • put

        public void put (int 类型,
                        java.lang.String destinationName,
                        java.lang.String queueManager名称,
                        java.lang.String topicString,
                        MQMessage 消息)
                 抛出 MQException
        将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。

        用于将消息放入或发布到队列或主题的方法允许您省略放置消息选项和备用用户标识。

        根据 type 参数中指定的目标类型, destinationName 参数将采用不同的含义。 其他参数将是可选的。

        请注意,对于所有平台,缺省同步点为 CMQC.MQPMO_NO_SYNCPOINT

        参数:
        type -用于控制指定目标类型的选项。 有效值包括:只应指定一个选项-不得通过添加或使用按位 OR 运算符来组合值。

        稍后可扩展这些选项以包含新的目标类型,例如多点广播地址等。

        destinationName -要放置或发布消息的队列或主题的名称。 根据 type 参数的值,此参数将采用不同的含义:
        • 如果指定了 CMQC.MQOT_Q ,那么 destinationName 参数将直接映射到队列名称,即 MQOD.ObjectName
        • 如果指定了 CMQC.MQOT_TOPIC ,那么 destinationName 参数将直接映射到主题对象,即 MQSD.getObjectName() (主题对象 ObjectName 属性留空)。
        queueManagerName -要将消息放置到的队列管理器的名称。 如果指定了 CMQC.MQOT_TOPIC (作为 type) ,那么将忽略此参数。
        topicString -要将消息发布到的主题字符串的名称。 如果指定了 CMQC.MQOT_Q (作为 type) ,那么将忽略此参数。
        message -要发送的消息。 由于将消息放置或发布到队列或主题,可能会更改消息中的属性。 因此,它被标记为输入和输出参数。
        抛出:
        MQException -如果调用失败。
      • put

        public void put (int 类型,
                        java.lang.String destinationName,
                        java.lang.String queueManager名称,
                        java.lang.String topicString,
                        MQMessage 消息,
                        MQPutMessage选项 putMessage选项)
                 抛出 MQException
        将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。

        当用于将消息放置或发布到队列或主题时,允许您省略备用用户标识。

        将消息放入队列或主题时,将使用 putMessageOptions 参数中指定的选项。 这些选项将根据指定的目标类型而有所不同。

        根据 type 参数中指定的目标类型, destinationName 参数将采用不同的含义。 其他参数将是可选的。

        请注意,对于所有平台,缺省同步点为 CMQC.MQPMO_NO_SYNCPOINT

        参数:
        type -用于控制指定目标类型的选项。 有效值包括:只应指定一个选项-不得通过添加或使用按位 OR 运算符来组合值。

        稍后可扩展这些选项以包含新的目标类型,例如多点广播地址等。

        destinationName -要放置或发布消息的队列或主题的名称。 根据 type 参数的值,此参数将采用不同的含义:
        • 如果指定了 CMQC.MQOT_Q ,那么 destinationName 参数将直接映射到队列名称,即 MQOD.ObjectName
        • 如果指定了 CMQC.MQOT_TOPIC ,那么 destinationName 参数将直接映射到主题对象,即 MQSD.getObjectName() (主题对象 ObjectName 属性留空)。
        queueManagerName -要将消息放置到的队列管理器的名称。 如果指定了 CMQC.MQOT_TOPIC (作为 type) ,那么将忽略此参数。
        topicString -要将消息发布到的主题字符串的名称。 如果指定了 CMQC.MQOT_Q (作为 type) ,那么将忽略此参数。
        message -要发送的消息。 由于将消息放置或发布到队列或主题,可能会更改消息中的属性。 因此,它被标记为输入和输出参数。
        putMessageOptions -用于控制 put 或 publish 操作的选项。 发布到主题时提供了其他选项。 这些属性与 MQPutMessageOptions.optionsMQPutMessageOptions.resolvedQueueNameMQPutMessageOptions.resolvedQueueManagerName 属性的使用相关。
        抛出:
        MQException -如果调用失败。
      • put

        public void put (int 类型,
                        java.lang.String destinationName,
                        java.lang.String queueManager名称,
                        java.lang.String topicString,
                        MQMessage 消息,
                        MQPutMessage选项 putMessage选项,
                        java.lang.String altUser标识)
                 抛出 MQException
        将单个消息放置或发布到队列或主题上,而不必首先创建 MQQueueMQTopic 对象。

        将消息放入队列或主题时,将使用 putMessageOptions 参数中指定的选项。 这些选项将根据指定的目标类型而有所不同。

        根据 type 参数中指定的目标类型, destinationName 参数将采用不同的含义。 其他参数将是可选的。

        alternateUserId 参数是备用用户标识,用于在将消息放入或发布到队列或主题时检查授权。

        请注意,对于所有平台,缺省同步点为 CMQC.MQPMO_NO_SYNCPOINT

        参数:
        type -用于控制指定目标类型的选项。 有效值包括:只应指定一个选项-不得通过添加或使用按位 OR 运算符来组合值。

        稍后可扩展这些选项以包含新的目标类型,例如多点广播地址等。

        destinationName -要放置或发布消息的队列或主题的名称。 根据 type 参数的值,此参数将采用不同的含义:
        • 如果指定了 CMQC.MQOT_Q ,那么 destinationName 参数将直接映射到队列名称,即 MQOD.ObjectName
        • 如果指定了 CMQC.MQOT_TOPIC ,那么 destinationName 参数将直接映射到主题对象,即 MQSD.getObjectName() (主题对象 ObjectName 属性留空)。
        queueManagerName -要将消息放置到的队列管理器的名称。 如果指定了 CMQC.MQOT_TOPIC (作为 type) ,那么将忽略此参数。
        topicString -要将消息发布到的主题字符串的名称。 如果指定了 CMQC.MQOT_Q (作为 type) ,那么将忽略此参数。
        message -要发送的消息。 由于将消息放置或发布到队列或主题,可能会更改消息中的属性。 因此,它被标记为输入和输出参数。
        putMessageOptions -用于控制 put 或 publish 操作的选项。 发布到主题时提供了其他选项。 这些属性与 MQPutMessageOptions.optionsMQPutMessageOptions.resolvedQueueNameMQPutMessageOptions.resolvedQueueManagerName 属性的使用相关。
        altUserId -指定在将消息放入或发布到队列或主题时用于检查授权的备用用户标识。 如果未指定 CMQC.MQPMO_ALTERNATE_USER_AUTHORITY,那么将忽略此参数。
        抛出:
        MQException -如果调用失败。
      • accessQueue

        public MQQueue accessQueue(java.lang.String queueName,
                                   int openOptions自变量,
                                   java.lang.String queueManager名称,
                                   java.lang.String dynamicQueue名称
                                   java.lang.String alternateUserIdArg)
                            抛出 MQException
        在此队列管理器上建立对 IBM MQ 队列的访问权,以便获取或浏览消息,放入消息,查询队列的属性或设置队列的属性。

        如果指定的队列是模型队列,那么将创建动态本地队列。 创建的队列的名称保存在返回的 MQQueue 对象的名称字段中。

        参数:
        queueName -要打开的队列的名称。
        openOptionsArg -用于控制队列打开的选项。 由于将查询和设置选项自动添加到提供的选项中,因此无需显式指定这些选项。 有效选项为:如果需要多个选项,那么可以使用 "+" 或 "|" 运算符来组合值。 请参阅 IBM MQ Application Programming Reference ,以获取这些选项的完整描述。
        queueManagerName -在其中定义队列的队列管理器的名称。 名称为空或为空表示此对象所连接的队列管理器。
        dynamicQueueName -要创建的动态队列的名称。 除非 queueName 指定模型队列的名称,否则将忽略此参数。 如果是,那么此参数指定要创建的动态队列的名称。 如果 queueName 指定模型队列的名称,那么空白或空名称无效。 如果名称中的最后一个非空白字符是星号 (*) ,那么队列管理器会将其替换为字符串,以保证为队列生成的名称在本地队列中是唯一的。 星号仅在 dynamicQueueName 参数的位置 1 到 33 中有效。
        alternateUserIdArg -如果在 openOptions 参数中指定了 CMQC.MQOO_ALTERNATE_USER_AUTHORITY ,那么此参数指定要用于检查打开权限的备用用户标识。 如果未指定 CMQC.MQOO_ALTERNATE_USER_AUTHORITY,那么此参数可以留空 (或空)。
        返回:
        已成功打开的 MQQueue。
        抛出:
        MQException -如果打开失败。
        另请参阅:
        accessProcess(String,int)
      • accessQueue

        public MQQueue accessQueue(java.lang.String queueName,
                                   int openOptions自变量)
                            抛出 MQException
        使用缺省队列管理器名称和备用用户标识值来建立对此队列管理器上的 IBM MQ 队列的访问权。
        参数:
        queueName -要打开的队列的名称。
        openOptionsArg -用于控制队列打开的选项。 请参阅 accessQueue(String, int, String, String, String) 以获取更多信息。
        返回:
        已成功打开的 MQQueue。
        抛出:
        MQException -如果打开失败。
      • accessTopic

        public MQTopic accessTopic(java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int openAs,
                                   int 选项)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 根据 openAs 参数的值,可以为发布或预订打开 MQTopic 对象。 该值指示使用 options 参数-这可能映射到用于发布的等效 CMQC#MQOO 选项或用于预订的等效 CMQC #MQSO 选项。

        指定的选项允许 MQTopic 对象用于获取或浏览消息,放置消息,查询主题的属性或设置主题的属性。

        MQTopic 对象不能同时用于发布和预订。 因此,构造函数会使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为发布或预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,商店 ( MQQueue) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。

        参数:
        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        openAs -指示是否为发布或预订打开主题。 该参数可能包含下列其中一个有效选项:只能为发布或预订打开主题对象。 指定多个选项将导致错误情况。
        options -用于控制发布或预订的主题打开的选项。 以下选项有效:如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。 请参阅 IBM MQ Application Programming Reference 以获取这些选项的更完整描述。

        但是,打开要预订的主题时,下面显示了以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。

        如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, String, String, int, int)
      • accessTopic

        public MQTopic accessTopic(java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int openAs,
                                   int 选项,
                                   java.lang.String altUser标识)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 根据 openAs 参数的值,可以为发布或预订打开 MQTopic 对象。 该值指示使用 options 参数-这可能映射到用于发布的等效 CMQC#MQOO 选项或用于预订的等效 CMQC MQSO 选项。

        如果在 options 参数中指定了 CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么将使用 alternateUserId 参数来检查必需的授权。

        指定的选项允许 MQTopic 对象用于获取或浏览消息,放置消息,查询主题的属性或设置主题的属性。

        MQTopic 对象不能同时用于发布和预订。 因此,构造函数会使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为发布或预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,商店 ( MQQueue) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。

        参数:
        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        openAs -指示是否为发布或预订打开主题。 该参数可能包含下列其中一个有效选项:只能为发布或预订打开主题对象。 指定多个选项将导致错误情况。
        options -用于控制发布或预订的主题打开的选项。 以下选项有效:如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。 请参阅 IBM MQ Application Programming Reference 以获取这些选项的更完整描述。

        但是,打开要预订的主题时,下面显示了以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。

        如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:

        altUserId -如果在 options 参数中指定了 CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查完成操作所需的权限的备用用户标识。

        如果未指定 CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么可以将此参数留空 (或为空)。

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, String, String, int, int, String)
      • accessTopic

        public MQTopic accessTopic(java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int 选项,
                                   java.lang.String altUser标识
                                   java.lang.String subscriptionName)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 subscriptionName 参数的存在指示此构造函数只能用于打开预订的主题。 因此, options 参数始终映射到等效的 CMQC #MQSO 值。

        如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么将使用 alternateUserId 参数来检查必需的授权。

        指定的选项允许使用 MQTopic 对象来获取或浏览消息,查询主题的属性或设置主题的属性。

        构造函数使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,商店 ( MQQueue) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。

        参数:
        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        options -打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        构造函数只能迎合受管预订。 因此,将强制实施以下选项:

        altUserId -如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查完成操作所需的权限的备用用户标识。

        如果未指定 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数可以留空 (或空)。

        subscriptionName -仅当 options 参数指定了 CMQC.MQSO_DURABLE时,此字段才是必需的,但如果提供的参数也将由 CMQC.MQSO_NON_DURABLE 的队列管理器使用。

        对于 CMQC.MQSO_DURABLE 预订,如果您已关闭预订的句柄或已与队列管理器断开连接,那么它是您在创建预订之后标识预订以将其恢复的方法。

        如果使用 CMQC.MQSO_ALTER 选项改变现有预订,那么无法更改预订名称

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, String, String, int, String, String)
      • accessTopic

        public MQTopic accessTopic(java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int 选项,
                                   java.lang.String altUser标识
                                   java.lang.String subscriptionName,
                                   java.util.Hashtable<java.lang.String,java.lang.Object> parameters)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 subscriptionName 参数的存在指示此构造函数只能用于打开预订的主题。 因此, options 参数始终映射到等效的 CMQC #MQSO 值。

        如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么将使用 alternateUserId 参数来检查必需的授权。

        指定的选项允许使用 MQTopic 对象来获取或浏览消息,查询主题的属性或设置主题的属性。

        构造函数使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,商店 ( MQQueue) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。

        还可以使用 parameters 散列表来指定额外的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 基本上,不会将任何新的 "键/值" 对添加到散列表-仅已更新的现有对。

        参数:
        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        options -打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        构造函数只能迎合受管预订。 因此,将强制实施以下选项:

        altUserId -如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查完成操作所需的权限的备用用户标识。

        如果未指定 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数可以留空 (或空)。

        subscriptionName -仅当 options 参数指定了 CMQC.MQSO_DURABLE时,此字段才是必需的,但如果提供的参数也将由 CMQC.MQSO_NON_DURABLE 的队列管理器使用。

        对于 CMQC.MQSO_DURABLE 预订,如果您已关闭预订的句柄或已与队列管理器断开连接,那么它是您在创建预订之后标识预订以将其恢复的方法。

        如果使用 CMQC.MQSO_ALTER 选项改变现有预订,那么无法更改预订名称

        parameters -散列表可用于指定预订请求的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 因此,将不会向散列表添加新的键/值对-仅更新现有对。 以下密钥名称有效并且可以指定:全部指定为 String 类型属性。 可以使用相应的语言转换例程将值转换为相关类型。
        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, String, String, int, String, String, Hashtable)
      • accessTopic

        public MQTopic accessTopic(MQDestination 目标,
                                   java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int 选项)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 destination 参数的存在指示此构造函数只能用于打开预订的主题。 因此, options 参数始终映射到等效的 CMQC #MQSO 值。

        指定的选项允许使用 MQTopic 对象来获取或浏览消息,查询主题的属性或设置主题的属性。

        构造函数使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,用户将提供,管理和拥有预订存储 ( destination)。 队列管理器对此对象不承担任何责任,而是由用户来正确处置该对象。 可用于此预订的任何消息都将传递到指定的目标。

        destination 参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管非持久预订。

        参数:
        destination -应接收发布的现有 MQDestination 对象。 对于 WebSphere MQ v7.0 ,这将始终映射到 MQQueue 对象。 但是,将来可能存在其他目标类型。

        可以通过调用 MQQueueManager #accessQueue 方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。

        相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅 MQTopic.getUnmanagedDestinationReference())。

        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        options -打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        构造函数只能迎合非受管非持久预订。 因此,将强制实施以下选项:

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, MQDestination, String, String, int)
      • accessTopic

        public MQTopic accessTopic(MQDestination 目标,
                                   java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int 选项,
                                   java.lang.String altUser标识)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 destination 参数的存在指示此构造函数只能用于打开预订的主题。 因此, options 参数始终映射到等效的 CMQC #MQSO 值。

        如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么将使用 alternateUserId 参数来检查必需的授权。

        指定的选项允许使用 MQTopic 对象来获取或浏览消息,查询主题的属性或设置主题的属性。

        构造函数使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,用户将提供,管理和拥有预订存储 ( destination)。 队列管理器对此对象不承担任何责任,而是由用户来正确处置该对象。 可用于此预订的任何消息都将传递到指定的目标。

        destination 参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管非持久预订。

        参数:
        destination -应接收发布的现有 MQDestination 对象。 对于 WebSphere MQ v7.0 ,这将始终映射到 MQQueue 对象。 但是,将来可能存在其他目标类型。

        可以通过调用 MQQueueManager #accessQueue 方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。

        相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅 MQTopic.getUnmanagedDestinationReference())。

        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        options -打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项也可用。

        构造函数只能迎合非受管非持久预订。 因此,将强制实施以下选项:

        altUserId -如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查完成操作所需的权限的备用用户标识。

        如果未指定 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数可以留空 (或空)。

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, MQDestination, String, String, int, String)
      • accessTopic

        public MQTopic accessTopic(MQDestination 目标,
                                   java.lang.String topicName,
                                   java.lang.String topicObject,
                                   int 选项,
                                   java.lang.String altUser标识
                                   java.lang.String subscriptionName)
                            抛出 MQException
        建立对 IBM MQ 主题的访问权。 destinationsubscriptionName 参数的存在指示此构造函数只能用于打开预订的主题。 因此, options 参数始终映射到等效的 MQSO 值。

        如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么将使用 alternateUserId 参数来检查必需的授权。

        指定的选项允许使用 MQTopic 对象来获取或浏览消息,查询主题的属性或设置主题的属性。

        构造函数使用提供的主题名称 (topicName) 和主题对象 ( topicObject) 为预订创建 MQTopic 对象。

        完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果两个部分都存在?/? 在生成的组合主题中,在它们之间插入字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。

        • topicObject中指定的主题对象的 TOPICSTR 参数的值。
        • topicName,如果为该字符串提供的长度不为零。
        如果 topicName中存在通配符,那么可以使用 options 参数中指定的通配符选项来控制这些通配符的解释。

        为预订创建 MQTopic 时,用户将提供,管理和拥有预订存储 ( destination)。 队列管理器对此对象不承担任何责任,而是由用户来正确处置该对象。 可用于此预订的任何消息都将传递到指定的目标。

        destination 参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管预订。

        参数:
        destination -应接收发布的现有 MQDestination 对象。 对于 WebSphere MQ v7.0 ,这将始终映射到 MQQueue 对象。 但是,将来可能存在其他目标类型。

        可以通过调用 MQQueueManager #accessQueue 方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。

        相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅 MQTopic.getUnmanagedDestinationReference())。

        topicName -要发布或预订的主题字符串。 topicName 参数直接映射到 MQSD 的 ObjectString 字段 (请参阅 MQSD.getObjectString())。 使用的完整主题名称是 topicObjecttopicName 参数的组合。
        topicObject -在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度 topicName一起指定,那么指定的 topicName 将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。

        该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。

        options -打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用 CMQC.MQSO_CREATE + CMQC.MQSO_ALTER 。 其他有效选项包括:

        构造函数只能迎合非受管预订。 因此,将强制实施以下选项:

        altUserId -如果在 options 参数中指定了 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查完成操作所需的权限的备用用户标识。

        如果未指定 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,那么此参数可以留空 (或空)。

        subscriptionName -仅当 options 参数指定了 CMQC.MQSO_DURABLE时,此字段才是必需的,但如果提供的参数也将由 CMQC.MQSO_NON_DURABLE 的队列管理器使用。

        对于 CMQC.MQSO_DURABLE 预订,如果您已关闭预订的句柄或已与队列管理器断开连接,那么它是您在创建预订之后标识预订以将其恢复的方法。

        如果使用 CMQC.MQSO_ALTER 选项改变现有预订,那么无法更改预订名称

        返回:
        已成功打开的 MQTopic 对象。
        抛出:
        MQException -如果调用失败。
        另请参阅:
        MQTopic.MQTopic(MQQueueManager, MQDestination, String, String, int, String, String)
      • accessProcess

        public MQProcess accessProcess(java.lang.String processName,
                                       int openOptions自变量,
                                       java.lang.String queueManager名称,
                                       java.lang.String alternateUserIdArg)
                                抛出 MQException
        在此队列管理器上建立对 IBM MQ 进程的访问权,以便查询进程属性。
        参数:
        processName -要打开的进程的名称
        openOptionsArg -用于控制进程打开的选项。 由于将查询自动添加到指定的选项中,因此无需显式指定该查询。 有效选项为:如果需要多个选项,那么可以使用 "+" 或 "|" 运算符来组合值。
        queueManagerName -定义进程的队列管理器的名称。 完全为空白或空的名称表示此对象所连接的队列管理器。
        alternateUserIdArg -如果在 openOptions 参数中指定了 CMQC.MQOO_ALTERNATE_USER_AUTHORITY ,那么此参数指定用于检查打开权限的备用用户标识。 否则,此参数可以为空或为空。
        返回:
        已成功打开的 MQProcess。
        抛出:
        MQException -如果打开失败。
        另请参阅:
        accessQueue(String, int, String, String, String)
      • accessProcess

        public MQProcess accessProcess(java.lang.String processName,
                                       int openOptions自变量)
                                抛出 MQException
        使用缺省队列管理器名称和备用用户标识值访问此队列管理器上的 IBM MQ 进程。
        参数:
        processName -要打开的进程的名称。
        openOptionsArg -请参阅 openOptions以获取详细信息。
        返回:
        已成功打开的 MQProcess。
        抛出:
        MQException -如果打开失败。
        另请参阅:
        accessProcess(String,int,String,String)
      • accessDistribution列表

        public MQDistributionList accessDistributionList (MQDistributionListItem[] items ,
                                                         int 选项,
                                                         java.lang.String 标识)
                                                  抛出 MQException
        创建分发列表。
        参数:
        items -分发列表的元素。
        options -分发列表的打开选项。
        id -备用用户标识。
        返回:
        分发列表。
        抛出:
        MQException -如果打开分发列表时发生问题。
      • accessDistribution列表

        public MQDistributionList accessDistributionList (MQDistributionListItem[] items ,
                                                         int 选项)
                                                  抛出 MQException
        使用缺省备用用户标识创建分发列表。
        参数:
        items -分发列表的元素。
        options -分发列表的打开选项。
        返回:
        分发列表。
        抛出:
        MQException -如果打开分发列表时发生问题。
      • getAsync状态

        public MQAsyncStatus getAsyncStatus ()
                                     抛出 MQException
        从队列管理器请求异步错误状态。 这与自上次在此连接上请求异步错误状态以来执行的异步放置操作相关。 可以通过对返回的对象调用 updateAsyncStatus () 来更新此状态。
        返回:
        异步错误状态。
        抛出:
        MQException -如果从队列管理器请求异步错误状态时发生问题。
        另请参阅:
        MQAsyncStatus.updateAsyncStatus()
      • getCCDTURL

        public java.net.URL getCCDTURL()
        返回通道定义文件的 URL ,如果该文件不存在,那么返回空值。 Java URL 支持各种协议,通常包括文件, HTTP, FTP 和 LDAP。 URL 类具有多个构造函数,其中一个构造函数是: URL(字符串规范)。
        返回:
        通道定义文件的 URL 。
      • toString

        public java.lang.String toString()
        以 JSON 格式表示有关连接的关键信息
        ObjectId
        作为 className 和十六进制标识
        ConnectionId
        十六进制格式
        ConnectionMode
        在连接时指定
        主机
        仅适用于客户机连接,但可能显示用于绑定
        端口
        仅适用于客户机连接,但可能显示用于绑定
        QueueManager
        在连接时指定
        ResolvedQueue管理器
        如果使用了 CCDT ,那么可能与 QueueManager 不同
        覆盖:
        toString的实例java.lang.Object
        返回:
        连接的字符串表示
© Copyright IBM Corp. 2008 , 2016. All Rights Reserved.