你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServiceBusReceivedMessage 类
- java.
lang. Object - com.
azure. messaging. servicebus. ServiceBusReceivedMessage
- com.
public final class ServiceBusReceivedMessage
封装从服务总线接收的消息的数据结构。 产品文档中详细讨论了消息结构。
方法摘要
方法继承自 java.lang.Object
方法详细信息
getApplicationProperties
public Map
获取一组自由格式 ServiceBusReceivedMessage 属性,这些属性可用于在服务总线操作期间传递与 ServiceBusReceivedMessage 关联的元数据。 的 properties()
一个常见用例是将 的 getBody() 序列化提示关联,作为对想要反序列化二进制数据的使用者的帮助。
Returns:
getBody
public BinaryData getBody()
获取由 ServiceBusReceivedMessage包装的有效负载。
包装 BinaryData 字节数组,是许多不同表示方式的抽象。 它为序列化/反序列化对象提供了方便的 API。
如果对使用者来说,反序列化原始数据的方法对使用者来说并不明显,一种常见方法是在创建事件时使用 getApplicationProperties() ,将序列化提示关联为希望反序列化二进制数据的使用者。
Returns:
getContentType
public String getContentType()
获取消息的内容类型。
(可选)描述消息的有效负载,其描述符遵循RFC2045第 5 节(例如“application/json”)的格式。
Returns:
getCorrelationId
public String getCorrelationId()
获取相关标识符。
允许应用程序出于关联目的指定消息的上下文。例如,反映正在答复的消息的 MessageId。
Returns:
getDeadLetterErrorDescription
public String getDeadLetterErrorDescription()
获取已死信的消息的说明。
Returns:
null
否则。getDeadLetterReason
public String getDeadLetterReason()
获取消息为死信的原因。
Returns:
null
否则。getDeadLetterSource
public String getDeadLetterSource()
获取此消息在死信之前排队的队列或订阅的名称。
此值仅在已死信且随后自动从死信队列转发到另一个实体的消息中设置。
Returns:
null
否则。getDeliveryCount
public long getDeliveryCount()
获取此消息传递到客户端的次数。
当消息锁期满,或接收程序明确放弃消息时,此计数递增。
Returns:
getEnqueuedSequenceNumber
public long getEnqueuedSequenceNumber()
获取服务总线分配给消息的排队序列号。
序列号是一个唯一的 64 位整数,它首先分配给邮件,因为它在其原始提交点被接受。
Returns:
getEnqueuedTime
public OffsetDateTime getEnqueuedTime()
获取此消息在 Azure 服务总线 中排队的日期时间。
已接受消息并将其存储在实体中的 UTC 日期时间。 对于计划的消息,这反映了消息的激活时间。 如果接收程序不想信任发送程序的时钟,可以将此值用作权威的中性到达时间指示器。
Returns:
getExpiresAt
public OffsetDateTime getExpiresAt()
获取此消息到期的日期时间。
该值是计划删除邮件的 UTC 日期时间,不再可用于从实体中检索。 过期由 getTimeToLive() 属性控制。 此属性是从 getEnqueuedTime() 加 getTimeToLive()计算的。
Returns:
getLockToken
public String getLockToken()
获取当前消息的锁标记。
锁令牌是对中转站在模式下 PEEK_LOCK 持有的锁的引用。 锁用于显式解决消息,如 产品文档中所述。 令牌还可用于通过 延迟 API 永久固定锁,并将消息从常规传递状态流中取出。 此属性为只读。
Returns:
null
对于通过 RECEIVE_AND_DELETE 模式检索到的消息。getLockedUntil
public OffsetDateTime getLockedUntil()
获取此消息的锁过期的日期时间。
对于在锁定 (速览锁定接收模式下检索到的消息,未预先确定) 此属性反映在队列/订阅中锁定消息之前的 UTC 日期时间。 当锁过期时, getDeliveryCount() 将递增 ,并且消息再次可供检索。 此属性为只读。
Returns:
getMessageId
public String getMessageId()
获取消息的标识符。
消息标识符是应用程序定义的值,可用于唯一标识消息及其有效负载。 此标识符是自由格式字符串,可反映 GUID 或派生自应用程序上下文的标识符。 如果启用, 重复检测 功能会识别并删除具有相同 messageId
的消息的第二次和进一步提交。
Returns:
getPartitionKey
public String getPartitionKey()
获取用于将消息发送到分区实体的分区键。
对于已分区实体,设置此值后,可以将相关消息分配到同一内部分区,以便能够正确记录提交序列顺序。 分区是由哈希函数通过此值进行选择,无法直接选择。 对于会话感知实体, getSessionId() 属性将替代此值。
Returns:
getRawAmqpMessage
public AmqpAnnotatedMessage getRawAmqpMessage()
AMQP 协议定义的消息表示形式。
Returns:
getReplyTo
public String getReplyTo()
获取要向其发送答复的实体的地址。
应用程序定义的这一可选值是一种标准方法,可用于向消息接收程序明示答复路径。 如果发送程序希望收到答复,它会将此值设置为,要将答复发送到的队列或主题的绝对或相关路径。
Returns:
getReplyToSessionId
public String getReplyToSessionId()
获取或设置用于扩充地址的 getReplyTo() 会话标识符。
此值补充了 ReplyTo 信息,并指定了应为发送给答复实体的答复设置的 SessionId。
Returns:
getScheduledEnqueueTime
public OffsetDateTime getScheduledEnqueueTime()
获取此消息的计划排队时间。
此值用于延迟消息可用性。 消息安全地添加到队列,但不被视为活动消息,因此在计划的排队时间之前不可检索。 请注意,在确切的给定日期时间 (排队) ,消息可能不会激活;实际激活时间取决于队列的工作负荷及其状态。
Returns:
getSequenceNumber
public long getSequenceNumber()
获取服务总线分配给消息的唯一编号。
序列号是在中转站接受并存储消息时分配给消息的唯一 64 位整数,可用作真正的标识符。 对于已分区实体,最前面的 16 位数反映的是分区标识符。 序列号单调递增且无间隔。 在 48-64 位范围用尽后,序列号会回滚到 0。 此属性为只读。
Returns:
getSessionId
public String getSessionId()
获取消息的会话 ID。
对于会话感知实体,应用程序定义的此值指定了消息的会话附属关系。 会话标识符相同的消息会处于摘要锁定状态,并确切启用依序处理和解多路复用。 对于非会话感知实体,可忽略此值。 请参阅 消息会话。
Returns:
getState
public ServiceBusMessageState getState()
获取消息的状态。 消息的状态可以是“活动”、“延迟”或“已计划”。 延迟消息具有“延迟”状态,计划消息具有“计划”状态,所有其他消息具有“活动”状态。
Returns:
getSubject
public String getSubject()
获取消息的主题。
借助此属性,应用程序可以类似于电子邮件主题行的标准化方式,向接收程序指明消息目的。 映射的 AMQP 属性为“subject”。
Returns:
getTimeToLive
public Duration getTimeToLive()
获取此消息过期之前的持续时间。
此值是消息过期的相对持续时间,从中转站接受并存储消息的日期时间开始,如 中 getScheduledEnqueueTime()捕获。 如果未显式设置,则假定值为相应队列或主题的 DefaultTimeToLive 集。 消息级 TimeToLive 值不得超过实体的 DefaultTimeToLive 设置,否则将会进行无提示调整。
Returns:
getTo
public String getTo()
获取“to”地址。
此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的 自动转发链接 方案中使用此值来指示消息的预期逻辑目标。
Returns: