你当前正在访问 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
Message |
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()
创建此消息的浅表副本。
返回:
getBody
@Deprecated
public abstract byte[] getBody()
已放弃
获取此消息的正文作为字节数组。 由客户端应用程序来解码字节。
返回:
getContentType
public abstract String getContentType()
获取此消息的内容类型。 (可选)描述消息的有效负载,其描述符遵循RFC2045第 5 节(例如“application/json”)的格式。 请注意,内容类型与邮件正文类型不同。
返回:
getCorrelationId
public abstract String getCorrelationId()
获取相关标识符。 允许应用程序出于关联目的指定消息的上下文。例如,反映正在答复的消息的 MessageId。
返回:
getDeadLetterSource
public abstract String getDeadLetterSource()
获取此消息死网之前排队的队列或订阅的名称。 此值仅在已死信且随后自动从死信队列转发到另一个实体的消息中设置。 指明已成为死信的消息所在的实体。 此属性为只读。
返回:
getDeliveryCount
public abstract long getDeliveryCount()
获取此消息传递到客户端的次数。 当消息锁期满,或接收程序明确放弃消息时,此计数递增。 此属性为只读。
返回:
getEnqueuedTimeUtc
public abstract Instant getEnqueuedTimeUtc()
获取此消息在Azure 服务总线排队的时刻。 实体接受并存储消息的即时 UTC。 对于计划的消息,这反映了消息的激活时间。 如果接收程序不想信任发送程序的时钟,可以将此值用作权威的中性到达时间指示器。 此属性为只读。
返回:
getExpiresAtUtc
public abstract Instant getExpiresAtUtc()
获取此消息将过期的时刻。 该值是计划删除消息时的 UTC 即时值,由于过期,不再可用于从实体中检索。 过期由 getTimeToLive() 属性控制。 此属性是从 getEnqueuedTimeUtc()+getTimeToLive()计算的。
返回:
getLabel
public abstract String getLabel()
获取特定于应用程序的消息标签。 借助此属性,应用程序可以类似于电子邮件主题行的标准化方式,向接收程序指明消息目的。 映射的 AMQP 属性为“subject”。
返回:
getLockToken
getLockedUntilUtc
public abstract Instant getLockedUntilUtc()
获取此消息的锁过期的时刻。 对于检索到的处于锁定状态(速览锁定接收模式,而非预先安排)的消息,此属性反映消息在队列/订阅中解除锁定的即时 UTC。 当锁过期时, getDeliveryCount() 将递增 ,并且消息再次可供检索。 此属性为只读。
返回:
getMessageBody
public abstract MessageBody getMessageBody()
获取此消息的正文。 客户端应用程序应根据正文类型提取消息内容。
返回:
getMessageId
public abstract String getMessageId()
获取此消息的 ID。 消息标识符是应用程序定义的值,可用于唯一标识消息及其有效负载。 此标识符是自由格式字符串,可反映 GUID 或派生自应用程序上下文的标识符。 如果启用, 重复检测 功能会识别并删除具有相同 MessageId 的第二次和进一步提交的消息。
返回:
getPartitionKey
public abstract String getPartitionKey()
获取用于将消息发送到分区实体的分区键。 对于已分区实体,设置此值后,可以将相关消息分配到同一内部分区,以便能够正确记录提交序列顺序。 分区是由哈希函数通过此值进行选择,无法直接选择。 对于会话感知实体, getSessionId() 属性将替代此值。
返回:
getProperties
public abstract Map
获取此消息的用户应用程序属性的映射。 客户端应用程序可以使用此映射设置用户属性 (消息) 标头。
返回:
getReplyTo
public abstract String getReplyTo()
获取要向其发送答复的实体的地址。 应用程序定义的这一可选值是一种标准方法,可用于向消息接收程序明示答复路径。 如果发送程序希望收到答复,它会将此值设置为,要将答复发送到的队列或主题的绝对或相关路径。
返回:
getReplyToSessionId
public abstract String getReplyToSessionId()
获取或设置用于扩充地址的 getReplyTo() 会话标识符。 此值补充了 ReplyTo 信息,并指定了应为发送给答复实体的答复设置的 SessionId。
返回:
getScheduledEnqueueTimeUtc
public abstract Instant getScheduledEnqueueTimeUtc()
获取此消息的计划排队时间。 此值用于延迟消息可用性。 消息安全地添加到队列,但不被视为活动消息,因此在计划的排队时间之前不可检索。 请注意,在确切的给定时刻,消息可能不会激活 (排队) ;实际激活时间取决于队列的工作负荷及其状态。
返回:
getScheduledEnqueuedTimeUtc
@Deprecated
public abstract Instant getScheduledEnqueuedTimeUtc()
已放弃
获取此消息的计划排队时间。 此值用于延迟消息可用性。 消息安全地添加到队列,但不被视为活动消息,因此在计划的排队时间之前不可检索。 请注意,在确切的给定时刻,消息可能不会激活 (排队) ;实际激活时间取决于队列的工作负荷及其状态。
返回:
getSequenceNumber
public abstract long getSequenceNumber()
获取服务总线分配给消息的唯一编号。 序列号是在中转站接受并存储消息时分配给消息的唯一 64 位整数,可用作真正的标识符。 对于已分区实体,最前面的 16 位数反映的是分区标识符。 序列号单调递增且无间隔。 在 48-64 位范围用尽后,序列号会回滚到 0。 此属性为只读。
返回:
getSessionId
public abstract String getSessionId()
获取会话感知实体的会话标识符。 对于会话感知实体,应用程序定义的此值指定了消息的会话附属关系。 会话标识符相同的消息会处于摘要锁定状态,并确切启用依序处理和解多路复用。 对于非会话感知实体,可忽略此值。
返回:
getTimeToLive
public abstract Duration getTimeToLive()
获取此消息过期之前的持续时间。 此值是消息过期的相对持续时间,从中转站接受并存储消息的瞬间开始,如 中 getEnqueuedTimeUtc()捕获的那样。 如果未显式设置,则假定值为相应队列或主题的 DefaultTimeToLive 集。 消息级 TimeToLive 值不得超过实体的 DefaultTimeToLive 设置,否则将会进行无提示调整。
返回:
getTo
public abstract String getTo()
获取“to”地址。
返回:
getViaPartitionKey
public abstract String getViaPartitionKey()
获取用于通过另一个分区传输实体向实体发送消息的分区键。 如果消息是通过事务范围内的传输队列发送的,则此值选择传输队列分区:这在功能上等效于 getPartitionKey() 并确保消息在传输时保持一起并按顺序排列。
返回:
setBody
@Deprecated
public abstract void setBody(byte[] body)
已放弃
将此消息的正文设置为字节数组。
参数:
setContentType
public abstract void setContentType(String contentType)
设置此消息的内容类型。
参数:
setCorrelationId
public abstract void setCorrelationId(String correlationId)
设置相关标识符。
参数:
setLabel
public abstract void setLabel(String label)
设置特定于应用程序的消息标签。
参数:
setMessageBody
public abstract void setMessageBody(MessageBody body)
设置此消息的正文。
参数:
setMessageId
public abstract void setMessageId(String messageId)
设置此消息的 ID。
参数:
setPartitionKey
public abstract void setPartitionKey(String partitionKey)
设置用于将消息发送到分区实体的分区键
参数:
setProperties
public abstract void setProperties(Map
设置此消息的用户应用程序属性的映射。 客户端应用程序可以使用此映射在消息上设置用户属性。
参数:
setReplyTo
public abstract void setReplyTo(String replyTo)
设置要向其发送答复的实体的地址。
参数:
setReplyToSessionId
public abstract void setReplyToSessionId(String replyToSessionId)
获取或设置用于扩充地址的 getReplyTo() 会话标识符。
参数:
setScheduledEnqueueTimeUtc
public abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)
设置此消息的计划排队时间。
参数:
setScheduledEnqueuedTimeUtc
@Deprecated
public abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)
已放弃
设置此消息的计划排队时间。
参数:
setSessionId
public abstract void setSessionId(String sessionId)
设置会话感知实体的会话标识符。
参数:
setTimeToLive
public abstract void setTimeToLive(Duration timeToLive)
设置此消息过期前的持续时间。
参数:
setTo
public abstract void setTo(String to)
设置“to”地址。 此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的 自动转发链接 方案中使用此值来指示消息的预期逻辑目标。
参数:
setViaPartitionKey
public abstract void setViaPartitionKey(String viaPartitionKey)
设置一个通过分区键,用于通过另一个分区实体将消息发送到目标实体
参数: