类 MQTopic
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.MQManagedObject
- com.ibm.mq.MQDestination
- com.ibm.mq.MQTopic
公共类 MQTopic 扩展 MQDestination
MQTopic 是MQDestination的子类,提供针对 IBM MQ 主题的设置,查询,放置 (发送/发布) 和获取 (接收/预订) 操作。 集合和查询功能继承自MQManagedObject。 而 put 和 get 功能是从 MQDestination 继承而来。使用 MQTopic 构造函数或
MQQueueManager#accessQueue方法来获取对 MQTopic 对象的访问权。 只能为发布或预订目的访问 MQTopic 对象,不能同时为两种目的进行访问。当用于接收消息时,MQTopic 对象可以使用非受管或受管预订进行创建并创建为持久或非持久订户 - 对于这些不同方案提供了多个超负荷构造方法。
- 另请参阅:
MQDestination,MQQueue,MQQueueManager
-
字段摘要
-
从类 com.ibm.mq继承的字段。MQManagedObject
alternateUserId, closeOptions, connectionReference, isOpen, name, openOptions
-
-
构造函数摘要
构造函数 构造函数和描述 MQTopic(MQQueueManager qMgr, MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String alternateUserId)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String alternateUserId, java.lang.String subscriptionName)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String alternateUserId, java.lang.String subscriptionName, java.util.Hashtable<java.lang.String,java.lang.Object> parameters)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int openAs, int options)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int openAs, int options, java.lang.String alternateUserId)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String alternateUserId, java.lang.String subscriptionName)建立对指定队列管理器上的 IBM MQ 主题的访问权。MQTopic(MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String alternateUserId, java.lang.String subscriptionName, java.util.Hashtable<java.lang.String,java.lang.Object> parameters)建立对指定队列管理器上的 IBM MQ 主题的访问权。
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法和描述 voidclose()关闭对象。MQSubscriptiongetSubscriptionReference()打开主题以进行预订时,获取关联的MQSubscription对象。MQDestinationgetUnmanagedDestinationReference()获取与非受管预订关联的MQDestination(MQQueue)。booleanisDurable()获取预订的持久状态。booleanisManaged()获取预订的受管状态。booleanisSubscribed()获取主题的预订状态。-
从类 com.ibm.mq继承的方法。MQDestination
get, get, get, getCreationDateTime, getDestinationType, getQueueManagerCmdLevel, put, put, setQueueManagerCmdLevel
-
-
-
构造函数详细信息
MQTopic
公共 MQTopic (MQQueueManager qMgr, 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) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
openAs-指示是否为发布或预订打开主题。 该参数可能包含下列其中一个有效选项:只能为发布或预订打开主题对象。 指定多个选项将导致错误情况。options-用于控制发布或预订的主题打开的选项。 以下选项有效:CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQOO_BIND_AS_Q_DEFCMQC.MQOO_FAIL_IF_QUIESCINGCMQC.MQOO_OUTPUTCMQC.MQOO_PASS_ALL_CONTEXTCMQC.MQOO_PASS_IDENTITY_CONTEXTCMQC.MQOO_SET_ALL_CONTEXTCMQC.MQOO_SET_IDENTITY_CONTEXT
但是,打开要预订的主题时,下面显示了以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。
如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:
- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(String, String, int, int)
MQTopic
公共 MQTopic (MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int openAs, int 选项, java.lang.String alternateUser标识) 抛出 MQException
建立对指定队列管理器上的 IBM MQ 主题的访问权。 可根据openAs参数的值为发布或预订打开 MQTopic 对象。 该值指示使用options参数-这可能映射到用于发布的等效CMQC#MQOO选项或用于预订的等效CMQCMQSO选项。如果在
options参数中指定了CMQC.MQOO_ALTERNATE_USER_AUTHORITY或CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么将使用alternateUserId参数来检查必需的授权。指定的选项允许 MQTopic 对象用于获取或浏览消息,放入消息,查询主题的属性或设置主题的属性。
MQTopic 对象不能同时用于发布和预订。 因此,构造函数将使用提供的主题名称 (
topicName) 和主题对象 (topicObject) 为发布或预订创建 MQTopic 对象。完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果这两个部分都存在,那么将在生成的组合主题中在它们之间插入 "/" 字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。
topicObject中指定的主题对象的TOPICSTR参数的值。topicName,如果为该字符串提供的长度不为零。
topicName中存在通配符,那么可以使用options参数中指定的通配符选项来控制这些通配符的解释。为预订创建 MQTopic 时,商店 (
MQQueue) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
openAs-指示是否为发布或预订打开主题。 该参数可能包含下列其中一个有效选项:只能为发布或预订打开主题对象。 指定多个选项将导致错误情况。options-用于控制发布或预订的主题打开的选项。 以下选项有效:CMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQOO_BIND_AS_Q_DEFCMQC.MQOO_FAIL_IF_QUIESCINGCMQC.MQOO_OUTPUTCMQC.MQOO_PASS_ALL_CONTEXTCMQC.MQOO_PASS_IDENTITY_CONTEXTCMQC.MQOO_SET_ALL_CONTEXTCMQC.MQOO_SET_IDENTITY_CONTEXT
但是,打开要预订的主题时,下面显示了以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。
如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:
alternateUserId-如果在 options 参数中指定了CMQC.MQOO_ALTERNATE_USER_AUTHORITY或CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么此参数指定用于检查完成操作所需的权限的备用用户标识。如果未指定
CMQC.MQOO_ALTERNATE_USER_AUTHORITY或CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么可以将此参数留空 (或为空)。- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(String, String, int, int, String)
MQTopic
公共 MQTopic (MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int 选项, java.lang.String alternateUser标识, 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) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。构造函数只能迎合受管预订。 因此,将强制实施以下选项:
alternateUserId-如果在 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选项改变现有预订,那么无法更改预订名称- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(String, String, int, String, String)
MQTopic
公共 MQTopic (MQQueueManager qMgr, java.lang.String topicName, java.lang.String topicObject, int 选项, java.lang.String alternateUser标识, 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散列表来指定额外的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 基本上,不会将任何新的 "键/值" 对添加到散列表-仅已更新的现有对。- 参数:
qMgr-表示主题所在的队列管理器的对象。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。构造函数只能迎合受管预订。 因此,将强制实施以下选项:
alternateUserId-如果在 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-散列表可用于指定预订请求的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 因此,将不会向散列表添加新的键/值对-仅更新现有对。 以下密钥名称有效并且可以指定:CMQC.MQSUB_PROP_ALTERNATE_SECURITY_IDCMQC.MQSUB_PROP_SUBSCRIPTION_EXPIRYCMQC.MQSUB_PROP_SUBSCRIPTION_USER_DATACMQC.MQSUB_PROP_SUBSCRIPTION_CORRELATION_IDCMQC.MQSUB_PROP_PUBLICATION_PRIORITYCMQC.MQSUB_PROP_PUBLICATION_ACCOUNTING_TOKENCMQC.MQSUB_PROP_PUBLICATION_APPLICATIONID_DATA
String类型属性。 可以使用相应的语言转换例程将值转换为相关类型。- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(String, String, int, String, String, Hashtable)
MQTopic
公共 MQTopic (MQQueueManager qMgr, 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参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管非持久预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。destination-应接收发布的现有MQDestination对象。 对于 WebSphere MQ v7.0 ,这将始终映射到MQQueue对象。 但是,将来可能存在其他目标类型。可通过调用
MQQueueManager#accessQueue方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅
getUnmanagedDestinationReference())。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。构造函数只能迎合非受管非持久预订。 因此,将强制实施以下选项:
- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(MQDestination, String, String, int)
MQTopic
公共 MQTopic (MQQueueManager qMgr, MQDestination 目标, java.lang.String topicName, java.lang.String topicObject, int 选项, java.lang.String alternateUser标识) 抛出 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参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管非持久预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。destination-应接收发布的现有MQDestination对象。 对于 WebSphere MQ v7.0 ,这将始终映射到MQQueue对象。 但是,将来可能存在其他目标类型。可通过调用
MQQueueManager#accessQueue方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅
getUnmanagedDestinationReference())。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项也可用。构造函数只能迎合非受管非持久预订。 因此,将强制实施以下选项:
alternateUserId-如果在 options 参数中指定了CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么此参数指定用于检查完成操作所需的权限的备用用户标识。如果是 CMQC.MQSO_ALTERNATE_USER_AUTHORITY ,此参数可以留空 (或为空)。
- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(MQDestination, String, String, int, String)
MQTopic
公共 MQTopic (MQQueueManager qMgr, MQDestination 目标, java.lang.String topicName, java.lang.String topicObject, int 选项, java.lang.String alternateUser标识, java.lang.String subscriptionName) 抛出 MQException
建立对指定队列管理器上的 IBM MQ 主题的访问权。destination和subscriptionName参数的存在指示此构造函数只能用于打开预订的主题。 因此,options参数始终映射到等效的MQSO值。如果在
options参数中指定了CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么将使用alternateUserId参数来检查必需的授权。指定的选项允许 MQTopic 对象用于获取或浏览消息,查询主题的属性或设置主题的属性。
构造函数使用提供的主题名称 (
topicName) 和主题对象 (topicObject) 为预订创建 MQTopic 对象。完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果这两个部分都存在,那么将在生成的组合主题中在它们之间插入 "/" 字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。
topicObject中指定的主题对象的TOPICSTR参数的值。topicName,如果为该字符串提供的长度不为零。
topicName中存在通配符,那么可以使用options参数中指定的通配符选项来控制这些通配符的解释。为预订创建 MQTopic 时,用户提供,管理和拥有预订存储 (
destination)。 队列管理器对此对象不承担任何责任,而是由用户来正确处置该对象。 可用于此预订的任何消息都将传递到指定的目标。destination参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管预订。- 参数:
qMgr-表示主题所在的队列管理器的对象。destination-应接收发布的现有MQDestination对象。 对于 WebSphere MQ v7.0 ,这将始终映射到MQQueue对象。 但是,将来可能存在其他目标类型。可通过调用
MQQueueManager#accessQueue方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅
getUnmanagedDestinationReference())。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项包括:CMQC.MQSO_DURABLECMQC.MQSO_GROUP_SUBCMQC.MQSO_MANAGEDCMQC.MQSO_SET_IDENTITY_CONTEXTCMQC.MQSO_FIXED_USERIDCMQC.MQSO_ANY_USERIDCMQC.MQSO_PUBLICATIONS_ON_REQUESTCMQC.MQSO_NEW_PUBLICATIONS_ONLYCMQC.MQSO_FAIL_IF_QUIESCINGCMQC.MQSO_ALTERNATE_USER_AUTHORITYCMQC.MQSO_WILDCARD_CHARCMQC.MQSO_WILDCARD_TOPICCMQC.MQSO_SET_CORREL_IDCMQC.MQSO_SCOPE_QMGRCMQC.MQSO_NO_READ_AHEADCMQC.MQSO_READ_AHEAD
构造函数只能迎合非受管预订。 因此,将强制实施以下选项:
alternateUserId-如果在 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选项改变现有预订,那么无法更改预订名称- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(MQDestination, String, String, int, String, String)
MQTopic
公共 MQTopic (MQQueueManager qMgr, MQDestination 目标, java.lang.String topicName, java.lang.String topicObject, int 选项, java.lang.String alternateUser标识, java.lang.String subscriptionName, java.util.Hashtable<java.lang.String,java.lang.Object> parameters) 抛出 MQException
建立对指定队列管理器上的 IBM MQ 主题的访问权。destination和subscriptionName参数的存在指示此构造函数只能用于打开预订的主题。 因此,options参数始终映射到等效的CMQC#MQSO值。如果在
options参数中指定了CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么将使用alternateUserId参数来检查必需的授权。指定的选项允许 MQTopic 对象用于获取或浏览消息,查询主题的属性或设置主题的属性。
构造函数使用提供的主题名称 (
topicName) 和主题对象 (topicObject) 为预订创建 MQTopic 对象。完整主题名称由前面两个部分的并置提供。 如果字段的第一个字符既不是空格也不是空字符,那么存在部分。 如果这两个部分都存在,那么将在生成的组合主题中在它们之间插入 "/" 字符。 如果仅存在其中一个部分,那么会将其用作主题。 这些部件按下面列出的顺序并置。
topicObject中指定的主题对象的TOPICSTR参数的值。topicName,如果为该字符串提供的长度不为零。
topicName中存在通配符,那么可以使用options参数中指定的通配符选项来控制这些通配符的解释。为预订创建 MQTopic 时,用户提供,管理和拥有预订存储 (
destination)。 队列管理器对此对象不承担任何责任,而是由用户来正确处置该对象。 可用于此预订的任何消息都将传递到指定的目标。destination参数必须有效,不能留空或为空。 因此,此构造函数只能用于创建非受管预订。还可以使用
parameters散列表来指定额外的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 基本上,不会将任何新的 "键/值" 对添加到散列表-仅已更新的现有对。- 参数:
qMgr-表示主题所在的队列管理器的对象。destination-应接收发布的现有MQDestination对象。 对于 WebSphere MQ v7.0 ,这将始终映射到MQQueue对象。 但是,将来可能存在其他目标类型。可通过调用
MQQueueManager#accessQueue方法或 MQQueue 构造函数来创建 MQDestination (MQQueue) 对象。相应的目标作为 UnmanagedDestinationReference 属性作为 MQTopic 对象中的引用保存 (请参阅
getUnmanagedDestinationReference())。topicName-要发布或预订的主题字符串。topicName参数直接映射到MQSD的 ObjectString 字段 (请参阅MQSD.getObjectString())。 使用的完整主题名称是topicObject和topicName参数的组合。topicObject-在本地队列管理器上定义的主题对象的名称。 如果此属性与非零长度topicName一起指定,那么指定的topicName将以分隔符附加到主题对象中包含的主题字符串。 这是发布或预订的完整主题字符串。该参数既是输入参数又是输出参数。 成功完成此方法后,最接近的匹配管理节点将位于主题层次结构中并返回。 因此,包含的主题对象可能与最初指定的主题对象不同。
options-打开预订主题时,将显示以下有效选项。 如果需要多个选项,那么可以使用按位 OR 运算符将值相加或组合。如果未指定任何这些选项,那么将采用CMQC.MQSO_CREATE+CMQC.MQSO_ALTER。 其他有效选项包括:CMQC.MQSO_DURABLECMQC.MQSO_GROUP_SUBCMQC.MQSO_MANAGEDCMQC.MQSO_SET_IDENTITY_CONTEXTCMQC.MQSO_FIXED_USERIDCMQC.MQSO_ANY_USERIDCMQC.MQSO_PUBLICATIONS_ON_REQUESTCMQC.MQSO_NEW_PUBLICATIONS_ONLYCMQC.MQSO_FAIL_IF_QUIESCINGCMQC.MQSO_ALTERNATE_USER_AUTHORITYCMQC.MQSO_WILDCARD_CHARCMQC.MQSO_WILDCARD_TOPICCMQC.MQSO_SET_CORREL_IDCMQC.MQSO_SCOPE_QMGRCMQC.MQSO_NO_READ_AHEADCMQC.MQSO_READ_AHEAD
构造函数只能迎合非受管预订。 因此,将强制实施以下选项:
alternateUserId-如果在 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-散列表可用于指定预订请求的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 因此,将不会向散列表添加新的键/值对-仅更新现有对。 以下密钥名称有效并且可以指定:CMQC.MQSUB_PROP_ALTERNATE_SECURITY_IDCMQC.MQSUB_PROP_SUBSCRIPTION_EXPIRYCMQC.MQSUB_PROP_SUBSCRIPTION_USER_DATACMQC.MQSUB_PROP_SUBSCRIPTION_CORRELATION_IDCMQC.MQSUB_PROP_PUBLICATION_PRIORITYCMQC.MQSUB_PROP_PUBLICATION_ACCOUNTING_TOKENCMQC.MQSUB_PROP_PUBLICATION_APPLICATIONID_DATA
String类型属性。 可以使用相应的语言转换例程将值转换为相关类型。- 抛出:
MQException-如果调用失败。- 另请参阅:
MQQueueManager.accessTopic(MQDestination, String, String, int, String, String, Hashtable)
-
方法详细信息
isDurable
公共布尔值 isDurable() 抛出 MQException获取预订的持久状态。 如果为输出 (即,发布) 打开了主题,那么将忽略该属性,并且该属性将始终为false。- 返回:
true(如果预订是持久预订) ,false否则- 抛出:
MQException-如果调用失败。
isManaged
公共布尔值 isManaged() 抛出 MQException获取预订的受管状态。 如果为输出 (即,发布) 打开了主题,那么将忽略该属性,并且该属性将始终为false。- 返回:
true(如果预订由队列管理器管理) ,否则false- 抛出:
MQException-如果调用失败。
isSubscribed
公共布尔值 isSubscribed() 抛出 MQException获取主题的预订状态。- 返回:
true(如果已打开主题以进行预订) ,false(如果已打开主题以进行发布)- 抛出:
MQException-如果调用失败。
getSubscription参考
public MQSubscription getSubscription参考 () 抛出 MQException
打开主题以进行预订时,获取关联的MQSubscription对象。用户应该永远不需要手动创建 MQSubscription 对象,并且仅应在成功预订主题后由底层 API 创建。
如果用户希望修改 close 选项或调用任何对象方法,那么该引用可供用户使用。
- 返回:
- 关联的 MQSubscription 对象 (如果已打开主题以进行预订)
- 抛出:
MQException-如果调用失败。
getUnmanagedDestinationReference
public MQDestination getUnmanagedDestinationReference() 抛出 MQException
获取与非受管预订关联的MQDestination(MQQueue)。 这是创建主题时指定的目标。- 返回:
- 关联的 MQDestination 或 null (如果已打开主题以进行发布或使用受管预订)
- 抛出:
MQException-如果调用失败。- 另请参阅:
MQTopic(MQQueueManager, MQDestination, String, String, int),MQTopic(MQQueueManager, MQDestination, String, String, int, String),MQTopic(MQQueueManager, MQDestination, String, String, int, String, String),MQTopic(MQQueueManager, MQDestination, String, String, int, String, String, Hashtable)
关闭
public void close() 抛出 MQException从类复制的描述:MQManagedObject关闭对象。 关闭此对象后,不允许对此对象执行任何进一步的操作。 可以通过设置closeOptions来改变 close 方法的行为。- 覆盖:
close的实例MQManagedObject- 抛出:
MQException-如果 IBM MQ 调用失败。- 另请参阅:
MQManagedObject.close()
-