类 MQQueueManager
- java.lang.Object
- com.ibm.mq.jmqi.JmqiObject
- com.ibm.mq.MQManagedObject
- com.ibm.mq.MQQueueManager
公用类 MQQueueManager 扩展 MQManagedObject
MQQueueManager 类提供与 IBM MQ 队列管理器的连接。MQQueueManager 对象 (以及通过它访问的任何队列或进程) 可以在多个线程之间共享,但请注意,对 IBM MQ 队列管理器本身的访问是同步的,因此只有一个线程可以在任何时候与它通信。 因此,对
MQQueue.get()指定CMQC.MQGMO_WAIT(例如) 的调用将阻止任何其他线程尝试使用同一 MQQueueManager 进行 IBM MQ 调用,直到 get 完成为止。
-
字段摘要
字段 修饰符和类型 字段和描述 booleanisConnected不推荐使用。请改为使用isConnected()方法。-
从类 com.ibm.mq继承的字段。MQManagedObject
alternateUserId, closeOptions, connectionReference, isOpen, name, openOptions
-
-
构造函数摘要
构造函数 构造函数和描述 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)使用客户机通道定义表创建与指定队列管理器的连接。
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法和描述 MQDistributionListaccessDistributionList(MQDistributionListItem[] items, int options)使用缺省备用用户标识创建分发列表。MQDistributionListaccessDistributionList(MQDistributionListItem[] items, int options, java.lang.String id)创建分发列表。MQProcessaccessProcess(java.lang.String processName, int openOptionsArg)使用缺省队列管理器名称和备用用户标识值访问此队列管理器上的 IBM MQ 进程。MQProcessaccessProcess(java.lang.String processName, int openOptionsArg, java.lang.String queueManagerName, java.lang.String alternateUserIdArg)在此队列管理器上建立对 IBM MQ 进程的访问权,以便查询进程属性。MQQueueaccessQueue(java.lang.String queueName, int openOptionsArg)使用缺省队列管理器名称和备用用户标识值来建立对此队列管理器上的 IBM MQ 队列的访问权。MQQueueaccessQueue(java.lang.String queueName, int openOptionsArg, java.lang.String queueManagerName, java.lang.String dynamicQueueName, java.lang.String alternateUserIdArg)在此队列管理器上建立对 IBM MQ 队列的访问权,以便获取或浏览消息,放入消息,查询队列的属性或设置队列的属性。MQTopicaccessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(MQDestination destination, java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(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 主题的访问权。MQTopicaccessTopic(java.lang.String topicName, java.lang.String topicObject, int openAs, int options)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(java.lang.String topicName, java.lang.String topicObject, int openAs, int options, java.lang.String altUserId)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(java.lang.String topicName, java.lang.String topicObject, int options, java.lang.String altUserId, java.lang.String subscriptionName)建立对 IBM MQ 主题的访问权。MQTopicaccessTopic(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 主题的访问权。voidbackout()向队列管理器指示将回退自上次同步点以来发生的所有消息获取和放入。voidbegin()开始新的工作单元。voidcommit()向队列管理器指示应用程序已达到同步点。voiddisconnect()结束与队列管理器的连接。MQAsyncStatusgetAsyncStatus()从队列管理器请求异步错误状态。java.net.URLgetCCDTURL()返回通道定义文件的 URL ,如果该文件不存在,那么返回空值。intgetCharacterSet()获取队列管理器的代码集的 CCSID (编码字符集标识)。java.lang.StringgetCommandInputQueueName()获取队列管理器上定义的命令输入队列的名称。intgetCommandLevel()指示队列管理器支持的系统控制命令的级别。booleangetDistributionListCapable()指示队列管理器是否支持分发列表。java.sql.ConnectiongetJDBCConnection(javax.sql.XADataSource xads)返回要与 JTA-JDBC 支持配合使用的 Connection 对象。java.sql.ConnectiongetJDBCConnection(javax.sql.XADataSource xads, java.lang.String userid, java.lang.String password)注册数据库以进行协调。intgetMaximumMessageLength()获取队列管理器可以处理的消息的最大长度。intgetMaximumPriority()获取队列管理器支持的最大消息优先级。intgetSyncpointAvailability()指示队列管理器是否支持工作单元以及与MQQueue.get()和MQQueue.put()方法同步。booleanisConnected()指示此对象当前是否已连接到 IBM MQ 队列管理器。voidput(int type, java.lang.String destinationName, MQMessage message)voidput(int type, java.lang.String destinationName, MQMessage message, MQPutMessageOptions putMessageOptions)voidput(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message)voidput(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message, MQPutMessageOptions putMessageOptions)voidput(int type, java.lang.String destinationName, java.lang.String queueManagerName, java.lang.String topicString, MQMessage message, MQPutMessageOptions putMessageOptions, java.lang.String altUserId)voidput(java.lang.String qName, MQMessage msg)将单个消息放入 (可能未打开) 队列。voidput(java.lang.String qName, MQMessage msg, MQPutMessageOptions pmo)将单个消息放入 (可能未打开) 队列。voidput(java.lang.String qName, java.lang.String qmName, MQMessage msg)将单个消息放入 (可能未打开) 队列。voidput(java.lang.String qName, java.lang.String qmName, MQMessage msg, MQPutMessageOptions pmo)将单个消息放入 (可能未打开) 队列。voidput(java.lang.String qName, java.lang.String qmName, MQMessage msg, MQPutMessageOptions pmo, java.lang.String altUserId)将单个消息放入 (可能未打开) 队列。java.lang.StringtoString()以 JSON 格式 ObjectId 作为 className 和十六进制标识 ConnectionId 以十六进制格式 ConnectionMode 表示有关连接的关键信息,如在连接时指定的 "仅适用于客户机连接的主机" ,但可能显示为仅适用于客户机连接的绑定端口。 但对于绑定 QueueManager ,可能会显示为在连接时指定的 ResolvedQueueManager 可能与 QueueManager 不同 (如果使用了 CCDT)
-
-
字段详细信息
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名称, int 选项) 抛出 MQException创建与指定队列管理器的连接,指定绑定选项。- 参数:
queueManagerName-队列管理器的名称。options-绑定选项。 可能的值为:- 抛出:
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名称, int 选项, com.ibm.mq.MQConnectionManager connectionManager) 抛出 MQException创建与队列管理器的连接,以允许指定绑定选项。 它还允许指定连接管理器。- 参数:
queueManagerName-队列管理器的名称。options-绑定选项。 可能的值为:connectionManager-将处理此连接的连接管理器。- 抛出:
MQException-如果存在连接问题。
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_1和CMQC.MQCMDL_LEVEL_600之间的值。- 抛出:
MQException-如果在与队列管理器断开连接后调用此方法以指示连接不再有效。
getCommandInputQueue名称
public java.lang.String getCommandInputQueueName () 抛出 MQException获取队列管理器上定义的命令输入队列的名称。 这是应用程序可以向其发送命令的队列 (如果已授权)。- 返回:
- 命令输入队列的名称。
- 抛出:
MQException-如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
getMaximum优先级
public int getMaximumPriority () 抛出 MQException获取队列管理器支持的最大消息优先级。 优先级范围从 0 (最低) 到该值。- 返回:
- 最大消息优先级。
- 抛出:
MQException-如果在与队列管理器断开连接后调用此方法,那么表明连接不再有效。
getSyncpoint可用性
public int getSyncpoint可用性 () 抛出 MQException指示队列管理器是否支持工作单元以及与MQQueue.get()和MQQueue.put()方法同步。- 返回:
CMQC.MQSP_AVAILABLE(如果同步点可用) 或CMQC.MQSP_NOT_AVAILABLE(如果不可用)。- 抛出:
MQException-如果在与队列管理器断开连接后调用此方法以指示连接不再有效。
getDistributionListCapable
public boolean getDistributionListCapable()
指示队列管理器是否支持分发列表。- 返回:
- true (如果支持分发列表)。
断开连接 (disconnect)
公用空断开连接 () 抛出 MQException结束与队列管理器的连接。 通过此队列管理器访问的所有开放式队列和进程都将关闭并变为不可用。 重新连接的唯一方法是创建新的 MQQueueManager 对象。- 抛出:
MQException-如果 MQ 断开连接调用失败。
落实 (commit)
public void commit () 抛出 MQException向队列管理器指示应用程序已达到同步点。 自上次同步点以来发生的所有消息获取和放置都将成为永久消息。 作为工作单元的一部分发送的消息 (在MQPutMessageOptions.options中设置了CMQC.MQPMO_SYNCPOINT标志) 可供其他应用程序使用。 将删除作为工作单元的一部分 (在MQGetMessageOptions.options中设置了CMQC.MQGMO_SYNCPOINT标志) 检索的消息。- 抛出:
MQException-如果调用失败。- 另请参阅:
backout()
回退 (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将单个消息放置或发布到队列或主题上,而不必首先创建MQQueue或MQTopic对象。用于将消息放入队列时,允许您省略队列管理器名称,放置消息选项和备用用户标识。 用于将消息发布到主题时,允许您省略主题字符串,放置消息选项和备用用户标识。
根据
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将单个消息放置或发布到队列或主题上,而不必首先创建MQQueue或MQTopic对象。用于将消息放入队列时,允许您省略队列管理器名称和备用用户标识。 当用于将消息发布到主题时,允许您省略主题字符串和备用用户标识。
将消息放入队列或主题时,将使用
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.options,MQPutMessageOptions.resolvedQueueName和MQPutMessageOptions.resolvedQueueManagerName属性的使用相关。- 抛出:
MQException-如果调用失败。
put
public void put (int 类型, java.lang.String destinationName, java.lang.String queueManager名称, java.lang.String topicString, MQMessage 消息) 抛出 MQException将单个消息放置或发布到队列或主题上,而不必首先创建MQQueue或MQTopic对象。用于将消息放入或发布到队列或主题的方法允许您省略放置消息选项和备用用户标识。
根据
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将单个消息放置或发布到队列或主题上,而不必首先创建MQQueue或MQTopic对象。当用于将消息放置或发布到队列或主题时,允许您省略备用用户标识。
将消息放入队列或主题时,将使用
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.options,MQPutMessageOptions.resolvedQueueName和MQPutMessageOptions.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将单个消息放置或发布到队列或主题上,而不必首先创建MQQueue或MQTopic对象。将消息放入队列或主题时,将使用
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.options,MQPutMessageOptions.resolvedQueueName和MQPutMessageOptions.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-用于控制队列打开的选项。 由于将查询和设置选项自动添加到提供的选项中,因此无需显式指定这些选项。 有效选项为:CMQC.MQOO_BROWSECMQC.MQOO_INPUT_AS_Q_DEFCMQC.MQOO_INPUT_SHAREDCMQC.MQOO_INPUT_EXCLUSIVECMQC.MQOO_OUTPUTCMQC.MQOO_SAVE_ALL_CONTEXTCMQC.MQOO_PASS_IDENTITY_CONTEXTCMQC.MQOO_PASS_ALL_CONTEXTCMQC.MQOO_SET_IDENTITY_CONTEXTCMQC.MQOO_SET_ALL_CONTEXTCMQC.MQOO_ALTERNATE_USER_AUTHORITYCMQC.MQOO_FAIL_IF_QUIESCING
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())。 使用的完整主题名称是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。 其他有效选项也可用。打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:
- 返回:
- 已成功打开的
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选项或用于预订的等效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) 将由队列管理器管理和拥有。 因此,此构造函数只能用于创建受管预订。- 参数:
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。 其他有效选项也可用。打开预订主题时,构造函数只能迎合受管的非持久预订。 因此,将强制实施以下选项:
altUserId-如果在 options 参数中指定了CMQC.MQOO_ALTERNATE_USER_AUTHORITY或CMQC.MQSO_ALTERNATE_USER_AUTHORITY,那么此参数指定用于检查完成操作所需的权限的备用用户标识。如果未指定
CMQC.MQOO_ALTERNATE_USER_AUTHORITY或CMQC.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())。 使用的完整主题名称是topicObject和topicName参数的组合。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())。 使用的完整主题名称是topicObject和topicName参数的组合。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-散列表可用于指定预订请求的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 因此,将不会向散列表添加新的键/值对-仅更新现有对。 以下密钥名称有效并且可以指定: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类型属性。 可以使用相应的语言转换例程将值转换为相关类型。- 返回:
- 已成功打开的
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())。 使用的完整主题名称是topicObject和topicName参数的组合。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())。 使用的完整主题名称是topicObject和topicName参数的组合。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 主题的访问权。destination和subscriptionName参数的存在指示此构造函数只能用于打开预订的主题。 因此,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())。 使用的完整主题名称是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
构造函数只能迎合非受管预订。 因此,将强制实施以下选项:
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)
accessTopic
public MQTopic accessTopic(MQDestination 目标, 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 主题的访问权。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散列表来指定额外的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 基本上,不会将任何新的 "键/值" 对添加到散列表-仅已更新的现有对。- 参数:
destination-应接收发布的现有MQDestination对象。 对于 WebSphere MQ v7.0 ,这将始终映射到MQQueue对象。 但是,将来可能存在其他目标类型。可以通过调用
MQQueueManager#accessQueue方法或MQQueue构造函数来创建MQDestination(MQQueue) 对象。相应的目标作为 UnmanagedDestinationReference 属性作为
MQTopic对象中的引用保存 (请参阅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
构造函数只能迎合非受管预订。 因此,将强制实施以下选项:
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-散列表可用于指定预订请求的非标准输入和输出参数。 如果属性是输出字段,那么仅当最初在输入时指定了该属性时,才会在散列表中填充该属性。 因此,将不会向散列表添加新的键/值对-仅更新现有对。 以下密钥名称有效并且可以指定: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类型属性。 可以使用相应的语言转换例程将值转换为相关类型。- 返回:
- 已成功打开的
MQTopic对象。 - 抛出:
MQException-如果调用失败。- 另请参阅:
MQTopic.MQTopic(MQQueueManager, MQDestination, String, String, int, String, String, Hashtable)
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- 返回:
- 连接的字符串表示
-