你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ServiceBusReceivedMessage 类

  • java.lang.Object
    • com.azure.messaging.servicebus.ServiceBusReceivedMessage

public final class ServiceBusReceivedMessage

封装从服务总线接收的消息的数据结构。 产品文档中详细讨论了消息结构。

方法摘要

修饰符和类型 方法和描述
Map<String,Object> getApplicationProperties()

获取一组自由格式 ServiceBusReceivedMessage 属性,这些属性可用于在服务总线操作期间传递与 ServiceBusReceivedMessage 关联的元数据。

BinaryData getBody()

获取由 ServiceBusReceivedMessage包装的有效负载。

String getContentType()

获取消息的内容类型。

String getCorrelationId()

获取相关标识符。

String getDeadLetterErrorDescription()

获取已死信的消息的说明。

String getDeadLetterReason()

获取消息为死信的原因。

String getDeadLetterSource()

获取此消息在死信之前排队的队列或订阅的名称。

long getDeliveryCount()

获取此消息传递到客户端的次数。

long getEnqueuedSequenceNumber()

获取服务总线分配给消息的排队序列号。

OffsetDateTime getEnqueuedTime()

获取此消息在 Azure 服务总线 中排队的日期时间。

OffsetDateTime getExpiresAt()

获取此消息到期的日期时间。

String getLockToken()

获取当前消息的锁标记。

OffsetDateTime getLockedUntil()

获取此消息的锁过期的日期时间。

String getMessageId()

获取消息的标识符。

String getPartitionKey()

获取用于将消息发送到分区实体的分区键。

AmqpAnnotatedMessage getRawAmqpMessage()

AMQP 协议定义的消息表示形式。

String getReplyTo()

获取要向其发送答复的实体的地址。

String getReplyToSessionId()

获取或设置用于扩充地址的 getReplyTo() 会话标识符。

OffsetDateTime getScheduledEnqueueTime()

获取此消息的计划排队时间。

long getSequenceNumber()

获取服务总线分配给消息的唯一编号。

String getSessionId()

获取消息的会话 ID。

ServiceBusMessageState getState()

获取消息的状态。

String getSubject()

获取消息的主题。

Duration getTimeToLive()

获取此消息过期之前的持续时间。

String getTo()

获取“to”地址。

方法继承自 java.lang.Object

方法详细信息

getApplicationProperties

public Map getApplicationProperties()

获取一组自由格式 ServiceBusReceivedMessage 属性,这些属性可用于在服务总线操作期间传递与 ServiceBusReceivedMessage 关联的元数据。 的 properties() 一个常见用例是将 的 getBody() 序列化提示关联,作为对想要反序列化二进制数据的使用者的帮助。

Returns:

与此 ServiceBusReceivedMessage关联的应用程序属性。

getBody

public BinaryData getBody()

获取由 ServiceBusReceivedMessage包装的有效负载。

包装 BinaryData 字节数组,是许多不同表示方式的抽象。 它为序列化/反序列化对象提供了方便的 API。

如果对使用者来说,反序列化原始数据的方法对使用者来说并不明显,一种常见方法是在创建事件时使用 getApplicationProperties() ,将序列化提示关联为希望反序列化二进制数据的使用者。

Returns:

表示有效负载的二进制数据。

getContentType

public String getContentType()

获取消息的内容类型。

(可选)描述消息的有效负载,其描述符遵循RFC2045第 5 节(例如“application/json”)的格式。

Returns:

ServiceBusReceivedMessagecontentType。

getCorrelationId

public String getCorrelationId()

获取相关标识符。

允许应用程序出于关联目的指定消息的上下文。例如,反映正在答复的消息的 MessageId。

Returns:

此消息的相关 ID。

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:

消息排队的日期时间Azure 服务总线。

getExpiresAt

public OffsetDateTime getExpiresAt()

获取此消息到期的日期时间。

该值是计划删除邮件的 UTC 日期时间,不再可用于从实体中检索。 过期由 getTimeToLive() 属性控制。 此属性是从 getEnqueuedTime()getTimeToLive()计算的。

Returns:

OffsetDateTime此消息过期的 。

getLockToken

public String getLockToken()

获取当前消息的锁标记。

锁令牌是对中转站在模式下 PEEK_LOCK 持有的锁的引用。 锁用于显式解决消息,如 产品文档中所述。 令牌还可用于通过 延迟 API 永久固定锁,并将消息从常规传递状态流中取出。 此属性为只读。

Returns:

此消息的锁标记。 null 对于通过 RECEIVE_AND_DELETE 模式检索到的消息。

getLockedUntil

public OffsetDateTime getLockedUntil()

获取此消息的锁过期的日期时间。

对于在锁定 (速览锁定接收模式下检索到的消息,未预先确定) 此属性反映在队列/订阅中锁定消息之前的 UTC 日期时间。 当锁过期时, getDeliveryCount() 将递增 ,并且消息再次可供检索。 此属性为只读。

Returns:

如果使用 PEEK_LOCK 模式接收消息,则此消息的锁到期的日期时间。 否则返回 null。

getMessageId

public String getMessageId()

获取消息的标识符。

消息标识符是应用程序定义的值,可用于唯一标识消息及其有效负载。 此标识符是自由格式字符串,可反映 GUID 或派生自应用程序上下文的标识符。 如果启用, 重复检测 功能会识别并删除具有相同 messageId的消息的第二次和进一步提交。

Returns:

getPartitionKey

public String getPartitionKey()

获取用于将消息发送到分区实体的分区键。

对于已分区实体,设置此值后,可以将相关消息分配到同一内部分区,以便能够正确记录提交序列顺序。 分区是由哈希函数通过此值进行选择,无法直接选择。 对于会话感知实体, getSessionId() 属性将替代此值。

Returns:

此消息的分区键。

getRawAmqpMessage

public AmqpAnnotatedMessage getRawAmqpMessage()

AMQP 协议定义的消息表示形式。

Returns:

表示 AmqpAnnotatedMessage AMQP 消息的 。

getReplyTo

public String getReplyTo()

获取要向其发送答复的实体的地址。

应用程序定义的这一可选值是一种标准方法,可用于向消息接收程序明示答复路径。 如果发送程序希望收到答复,它会将此值设置为,要将答复发送到的队列或主题的绝对或相关路径。

Returns:

此消息的 ReplyTo 属性值

getReplyToSessionId

public String getReplyToSessionId()

获取或设置用于扩充地址的 getReplyTo() 会话标识符。

此值补充了 ReplyTo 信息,并指定了应为发送给答复实体的答复设置的 SessionId。

Returns:

此消息的 ReplyToSessionId 属性值

getScheduledEnqueueTime

public OffsetDateTime getScheduledEnqueueTime()

获取此消息的计划排队时间。

此值用于延迟消息可用性。 消息安全地添加到队列,但不被视为活动消息,因此在计划的排队时间之前不可检索。 请注意,在确切的给定日期时间 (排队) ,消息可能不会激活;实际激活时间取决于队列的工作负荷及其状态。

Returns:

消息排队的日期时间Azure 服务总线

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:

此消息的“To”属性值

适用于