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

IMessage 接口

public interface IMessage

表示Azure 服务总线与其客户端之间交换的消息。

方法摘要

修饰符和类型 方法和描述
abstract IMessage createCopy()

创建此消息的浅表副本。

abstract byte[] getBody()

已放弃

消息正文不需要一个字节数组。 替换为 getMessageBody()

获取此消息的正文作为字节数组。

abstract String getContentType()

获取此消息的内容类型。

abstract String getCorrelationId()

获取相关标识符。

abstract String getDeadLetterSource()

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

abstract long getDeliveryCount()

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

abstract Instant getEnqueuedTimeUtc()

获取此消息在Azure 服务总线排队的时刻。

abstract Instant getExpiresAtUtc()

获取此消息将过期的时刻。

abstract String getLabel()

获取特定于应用程序的消息标签。

abstract UUID getLockToken()

获取当前消息的锁标记。

abstract Instant getLockedUntilUtc()

获取此消息的锁过期的时刻。

abstract MessageBody getMessageBody()

获取此消息的正文。

abstract String getMessageId()

获取此消息的 ID。

abstract String getPartitionKey()

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

abstract Map<String,Object> getProperties()

获取此消息的用户应用程序属性的映射。

abstract String getReplyTo()

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

abstract String getReplyToSessionId()

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

abstract Instant getScheduledEnqueueTimeUtc()

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

abstract Instant getScheduledEnqueuedTimeUtc()

已放弃

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

abstract long getSequenceNumber()

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

abstract String getSessionId()

获取会话感知实体的会话标识符。

abstract Duration getTimeToLive()

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

abstract String getTo()

获取“to”地址。

abstract String getViaPartitionKey()

获取用于通过另一个分区传输实体向实体发送消息的分区键。

abstract void setBody(byte[] body)

已放弃

消息正文不需要一个字节数组。 替换为 setMessageBody(MessageBody body)

将此消息的正文设置为字节数组。

abstract void setContentType(String contentType)

设置此消息的内容类型。

abstract void setCorrelationId(String correlationId)

设置相关标识符。

abstract void setLabel(String label)

设置特定于应用程序的消息标签。

abstract void setMessageBody(MessageBody body)

设置此消息的正文。

abstract void setMessageId(String messageId)

设置此消息的 ID。

abstract void setPartitionKey(String partitionKey)

设置用于将消息发送到分区实体的分区键

abstract void setProperties(Map<String,Object> properties)

设置此消息的用户应用程序属性的映射。

abstract void setReplyTo(String replyTo)

设置要向其发送答复的实体的地址。

abstract void setReplyToSessionId(String replyToSessionId)

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

abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)

设置此消息的计划排队时间。

abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)

已放弃

设置此消息的计划排队时间。

abstract void setSessionId(String sessionId)

设置会话感知实体的会话标识符。

abstract void setTimeToLive(Duration timeToLive)

设置此消息过期前的持续时间。

abstract void setTo(String to)

设置“to”地址。

abstract void setViaPartitionKey(String viaPartitionKey)

设置一个通过分区键,用于通过另一个分区实体将消息发送到目标实体

方法详细信息

createCopy

public abstract IMessage createCopy()

创建此消息的浅表副本。

Returns:

此消息的副本

getBody

@Deprecated
public abstract byte[] getBody()

已放弃

消息正文不需要一个字节数组。 替换为 getMessageBody()

获取此消息的正文作为字节数组。 由客户端应用程序来解码字节。

Returns:

此消息的正文

getContentType

public abstract String getContentType()

获取此消息的内容类型。 (可选)描述消息的有效负载,其描述符遵循RFC2045第 5 节(例如“application/json”)的格式。 请注意,内容类型与邮件正文类型不同。

Returns:

此消息的内容类型

getCorrelationId

public abstract String getCorrelationId()

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

Returns:

此消息的相关 ID

getDeadLetterSource

public abstract String getDeadLetterSource()

获取此消息死网之前排队的队列或订阅的名称。 此值仅在已死信且随后自动从死信队列转发到另一个实体的消息中设置。 指明已成为死信的消息所在的实体。 此属性为只读。

Returns:

此消息的死信源

getDeliveryCount

public abstract long getDeliveryCount()

获取此消息传递到客户端的次数。 当消息锁期满,或接收程序明确放弃消息时,此计数递增。 此属性为只读。

Returns:

此消息的传递计数。

getEnqueuedTimeUtc

public abstract Instant getEnqueuedTimeUtc()

获取此消息在Azure 服务总线排队的时刻。 实体接受并存储消息的即时 UTC。 对于计划的消息,这反映了消息的激活时间。 如果接收程序不想信任发送程序的时钟,可以将此值用作权威的中性到达时间指示器。 此属性为只读。

Returns:

消息排队的时刻Azure 服务总线

getExpiresAtUtc

public abstract Instant getExpiresAtUtc()

获取此消息将过期的时刻。 该值是计划删除消息时的 UTC 即时值,由于过期,不再可用于从实体中检索。 过期由 getTimeToLive() 属性控制。 此属性是从 getEnqueuedTimeUtc()+getTimeToLive()计算的。

Returns:

此消息过期的时刻

getLabel

public abstract String getLabel()

获取特定于应用程序的消息标签。 借助此属性,应用程序可以类似于电子邮件主题行的标准化方式,向接收程序指明消息目的。 映射的 AMQP 属性为“subject”。

Returns:

此消息的标签属性值

getLockToken

public abstract UUID getLockToken()

获取当前消息的锁标记。 锁令牌是对中转站在 PEEKLOCK 模式下持有的锁的引用。 锁用于显式解决消息,如 产品文档中更详细地说明。 令牌还可用于通过 延迟 API 永久固定锁,并使用该令牌将消息从常规传递状态流中取出。 此属性为只读。

Returns:

此消息的锁定标记。

getLockedUntilUtc

public abstract Instant getLockedUntilUtc()

获取此消息的锁过期的时刻。 对于检索到的处于锁定状态(速览锁定接收模式,而非预先安排)的消息,此属性反映消息在队列/订阅中解除锁定的即时 UTC。 当锁过期时, getDeliveryCount() 将递增 ,并且消息再次可供检索。 此属性为只读。

Returns:

如果使用 PEEKLOCK 模式接收消息,则此消息的锁将过期。 否则返回 null。

getMessageBody

public abstract MessageBody getMessageBody()

获取此消息的正文。 客户端应用程序应根据正文类型提取消息内容。

Returns:

此消息的正文

getMessageId

public abstract String getMessageId()

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

Returns:

此消息的 ID

getPartitionKey

public abstract String getPartitionKey()

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

Returns:

此消息的分区键

getProperties

public abstract Map getProperties()

获取此消息的用户应用程序属性的映射。 客户端应用程序可以使用此映射设置用户属性 (消息) 标头。

Returns:

此消息的用户应用程序属性映射

getReplyTo

public abstract String getReplyTo()

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

Returns:

此消息的 ReplyTo 属性值

getReplyToSessionId

public abstract String getReplyToSessionId()

获取或设置用于扩充地址的 getReplyTo() 会话标识符。 此值补充了 ReplyTo 信息,并指定了应为发送给答复实体的答复设置的 SessionId。

Returns:

此消息的 ReplyToSessionId 属性值

getScheduledEnqueueTimeUtc

public abstract Instant getScheduledEnqueueTimeUtc()

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

Returns:

消息排队的时刻Azure 服务总线

getScheduledEnqueuedTimeUtc

@Deprecated
public abstract Instant getScheduledEnqueuedTimeUtc()

已放弃

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

Returns:

消息排队的时刻Azure 服务总线

getSequenceNumber

public abstract long getSequenceNumber()

获取服务总线分配给消息的唯一编号。 序列号是在中转站接受并存储消息时分配给消息的唯一 64 位整数,可用作真正的标识符。 对于已分区实体,最前面的 16 位数反映的是分区标识符。 序列号单调递增且无间隔。 在 48-64 位范围用尽后,序列号会回滚到 0。 此属性为只读。

Returns:

此消息的序列号

getSessionId

public abstract String getSessionId()

获取会话感知实体的会话标识符。 对于会话感知实体,应用程序定义的此值指定了消息的会话附属关系。 会话标识符相同的消息会处于摘要锁定状态,并确切启用依序处理和解多路复用。 对于非会话感知实体,可忽略此值。

Returns:

此消息的会话 ID

getTimeToLive

public abstract Duration getTimeToLive()

获取此消息过期之前的持续时间。 此值是消息过期的相对持续时间,从中转站接受并存储消息的瞬间开始,如 中 getEnqueuedTimeUtc()捕获的那样。 如果未显式设置,则假定值为相应队列或主题的 DefaultTimeToLive 集。 消息级 TimeToLive 值不得超过实体的 DefaultTimeToLive 设置,否则将会进行无提示调整。

Returns:

此消息的生存时间持续时间

getTo

public abstract String getTo()

获取“to”地址。

Returns:

此消息的属性值

getViaPartitionKey

public abstract String getViaPartitionKey()

获取用于通过另一个分区传输实体向实体发送消息的分区键。 如果消息是通过事务范围内的传输队列发送的,则此值选择传输队列分区:这在功能上等效于 getPartitionKey() 并确保消息在传输时保持一起并按顺序排列。

Returns:

通过队列中的分区键。

setBody

@Deprecated
public abstract void setBody(byte[] body)

已放弃

消息正文不需要一个字节数组。 替换为 setMessageBody(MessageBody body)

将此消息的正文设置为字节数组。

Parameters:

body - 此消息的正文

setContentType

public abstract void setContentType(String contentType)

设置此消息的内容类型。

Parameters:

contentType - 此消息的内容类型

setCorrelationId

public abstract void setCorrelationId(String correlationId)

设置相关标识符。

Parameters:

correlationId - 此消息的相关 ID

setLabel

public abstract void setLabel(String label)

设置特定于应用程序的消息标签。

Parameters:

label - 此消息的标签属性值

setMessageBody

public abstract void setMessageBody(MessageBody body)

设置此消息的正文。

Parameters:

body - 此消息的正文

setMessageId

public abstract void setMessageId(String messageId)

设置此消息的 ID。

Parameters:

messageId - 此消息的 ID

setPartitionKey

public abstract void setPartitionKey(String partitionKey)

设置用于将消息发送到分区实体的分区键

Parameters:

partitionKey - 此消息的分区键

setProperties

public abstract void setProperties(Map properties)

设置此消息的用户应用程序属性的映射。 客户端应用程序可以使用此映射在消息上设置用户属性。

Parameters:

properties - 此消息的用户应用程序属性映射

setReplyTo

public abstract void setReplyTo(String replyTo)

设置要向其发送答复的实体的地址。

Parameters:

replyTo - 此消息的 ReplyTo 属性值

setReplyToSessionId

public abstract void setReplyToSessionId(String replyToSessionId)

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

Parameters:

replyToSessionId - 此消息的 ReplyToSessionId 属性值

setScheduledEnqueueTimeUtc

public abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)

设置此消息的计划排队时间。

Parameters:

scheduledEnqueueTimeUtc - 此消息应排队的时刻Azure 服务总线

setScheduledEnqueuedTimeUtc

@Deprecated
public abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)

已放弃

设置此消息的计划排队时间。

Parameters:

scheduledEnqueueTimeUtc - 此消息应排队的时刻Azure 服务总线

setSessionId

public abstract void setSessionId(String sessionId)

设置会话感知实体的会话标识符。

Parameters:

sessionId - 此消息的会话 ID

setTimeToLive

public abstract void setTimeToLive(Duration timeToLive)

设置此消息过期前的持续时间。

Parameters:

timeToLive - 此消息的生存时间持续时间

setTo

public abstract void setTo(String to)

设置“to”地址。 此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的 自动转发链接 方案中使用此值来指示消息的预期逻辑目标。

Parameters:

to - 此消息的属性值

setViaPartitionKey

public abstract void setViaPartitionKey(String viaPartitionKey)

设置一个通过分区键,用于通过另一个分区实体将消息发送到目标实体

Parameters:

viaPartitionKey - 此消息的 via-partition 键

适用于