MQGetMessageOptions.NET 类
使用 MQGetMessageOptions 来指定如何检索消息。 它会修改 MQDestination.Get的行为。
类
System.Object
|
└─ IBM.WMQ.MQBase
|
└─ IBM.WMQ.MQBaseObject
|
└─ IBM.WMQ.MQGetMessageOptions
public class IBM.WMQ.MQGetMessageOptions extends IBM.WMQ.MQBaseObject;
属性
注: 此类中某些可用选项的行为取决于使用这些选项的环境。 这些元素标有星号 *。
获取属性时抛出 MQException 的测试。
public int GroupStatus {get;}*- GroupStatus 指示检索到的消息是否在组中,以及它是否是组中的最后一条消息。 可能的值为:
MQC.MQGS_LAST_MSG_IN_GROUP- 消息是组中的最后一条或唯一一条消息。
MQC.MQGS_MSG_IN_GROUP- 消息位于组中,但不是组中的最后一个消息。
MQC.MQGS_NOT_IN_GROUP- 消息不在组中。
public int MatchOptions {get; set;}*- MatchOptions 确定如何选择消息。 可以设置以下匹配选项:
MQC.MQMO_MATCH_CORREL_ID- 要匹配的相关标识。
MQC.MQMO_MATCH_GROUP_ID- 要匹配的组标识。
MQC.MQMO_MATCH_MSG_ID- 要匹配的消息标识。
MQC.MQMO_MATCH_MSG_SEQ_NUMBER- 匹配消息序号。
MQC.MQMO_NONE- 不需要匹配。
public int Options {get; set;}- 选项 控制 MQQueue.get的操作。 可以指定下列任何值。 如果需要多个选项,那么可以使用按位 OR 运算符添加或组合值。
MQC.MQGMO_ACCEPT_TRUNCATED_MSG- 允许截断消息数据。
MQC.MQGMO_ALL_MSGS_AVAILABLE*- 仅当组中的所有消息都可用时,才从组中检索消息。
MQC.MQGMO_ALL_SEGMENTS_AVAILABLE*- 仅当组中的所有段都可用时,才检索逻辑消息的段。
MQC.MQGMO_BROWSE_FIRST- 从队列开始浏览。
MQC.MQGMO_BROWSE_MSG_UNDER_CURSOR*- 浏览光标下的浏览消息。
MQC.MQGMO_BROWSE_NEXT- 从队列中的当前位置进行浏览。
MQC.MQGMO_COMPLETE_MSG*- 仅检索完整的逻辑消息。
MQC.MQGMO_CONVERT- 在将数据复制到消息缓冲区之前,请求要转换的应用程序数据,以符合 MQMessage的 CharacterSet 和 Encoding 属性。 由于从消息缓冲区检索数据时也会应用数据转换,因此应用程序不会设置此选项。
使用此选项可能会在从单字节字符集转换为双字节字符集时导致问题。 而是在传递消息后使用 readString, readLine和 writeString 方法执行转换。
MQC.MQGMO_FAIL_IF_QUIESCING- 如果队列管理器正在停顿,那么失败。
MQC.MQGMO_LOCK*- 锁定浏览的消息。
MQC.MQGMO_LOGICAL_ORDER*- 以逻辑顺序返回组中的消息以及逻辑消息段。
MQC.MQGMO_MARK_SKIP_BACKOUT*- 允许回退工作单元而不恢复队列上的消息。
MQC.MQGMO_MSG_UNDER_CURSOR- 在浏览光标下获取消息。
MQC.MQGMO_NONE- 未指定其他选项; 所有选项都采用其缺省值。
MQC.MQGMO_NO_PROPERTIES- 不检索消息的属性,消息描述符 (或扩展) 中包含的属性除外。
MQC.MQGMO_NO_SYNCPOINT- 在没有同步点控制的情况下获取消息。
MQC.MQGMO_NO_WAIT- 如果没有合适的消息,请立即返回。
MQC.MQGMO_PROPERTIES_AS_Q_DEF- 检索由 MQQueue的 PropertyControl 属性定义的消息属性。 对消息描述符或扩展中的消息属性的访问不受 PropertyControl 属性的影响。
MQC.MQGMO_PROPERTIES_COMPATIBILITY- 在 MQRFH2 头中检索前缀为 mcd, jms, usr或 mqext的消息属性。 将废弃消息的其他属性 (消息描述符或扩展中包含的属性除外)。
MQC.MQGMO_PROPERTIES_FORCE_MQRFH2- 在 MQRFH2 头中检索消息属性 (消息描述符或扩展中包含的属性除外)。 在期望检索属性但无法更改为使用消息句柄的应用程序中使用
MQC.MQGMO_PROPERTIES_FORCE_MQRFH2。 MQC.MQGMO_PROPERTIES_IN_HANDLE- 使用 MsgHandle检索消息属性。
MQC.MQGMO_SYNCPOINT- 在同步点控制下获取消息。 此消息被标记为对其他应用程序不可用,但仅当落实工作单元时才会从队列中删除此消息。 如果工作单元回退,那么该消息将再次可用。
MQC.MQGMO_SYNCPOINT_IF_PERSISTENT*- 获取具有同步点控制的消息 (如果消息是持久消息)。
MQC.MQGMO_UNLOCK*- 解锁先前锁定的消息。
MQC.MQGMO_WAIT- 等待消息到达。
public string ResolvedQueueName {get;}- 队列管理器会将ResolvedQueueName设置为从中获取报文的队列的本地名称。 如果打开的是别名队列或模型队列,则ResolvedQueueName与用于打开队列的名称不同。
public char Segmentation {get;}*- 分段 指示您是否可以允许对检索到的消息进行分段。 可能的值为:
MQC.MQSEG_INHIBITED- 不允许分段。
MQC.MQSEG_ALLOWED- 允许分段
public byte SegmentStatus {get;}*- SegmentStatus 是一个输出字段,用于指示检索的消息是否为逻辑消息的段。 如果消息是段,那么该标志指示它是否是最后一个段。 可能的值为:
MQC.MQSS_LAST_SEGMENT- 消息是逻辑消息的最后或唯一段。
MQC.MQSS_NOT_A_SEGMENT- 消息不是段。
MQC.MQSS_SEGMENT- 消息是一个段,但不是逻辑消息的最后一个段。
public int WaitInterval {get; set;}- WaitInterval 是 MQQueue.get 调用等待合适消息到达的最长时间 (以毫秒为单位)。 将 WaitInterval 与
MQC.MQGMO_WAIT配合使用。 设置值MQC.MQWI_UNLIMITED以等待无限的消息时间。
构造函数
public MQGetMessageOptions()- 创建一个新的 "MQGetMessageOptions对象,其选项设置为 "
MQC.MQGMO_NO_WAIT,WaitInterval设置为零,ResolvedQueueName设置为空。