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