你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServiceBusMessage 类
- java.
lang. Object - com.
azure. messaging. servicebus. ServiceBusMessage
- com.
public class ServiceBusMessage
封装要发送到服务总线的消息的数据结构。 产品文档中详细介绍了消息结构。
构造函数摘要
构造函数 | 说明 |
---|---|
ServiceBusMessage(byte[] body) |
ServiceBusMessage使用给定的字节数组主体创建 。 |
ServiceBusMessage(AmqpMessageBody amqpMessageBody) |
此构造函数提供了一种简单的方法,用于将消息正文作为 AMQP 数据类型 |
ServiceBusMessage(BinaryData body) |
创建包含 ServiceBusMessage 的 |
ServiceBusMessage(ServiceBusReceivedMessage receivedMessage) |
ServiceBusMessage使用 中的 |
ServiceBusMessage(String body) |
ServiceBusMessage创建具有编码正文的 UTF-8 。 |
方法摘要
方法继承自 java.lang.Object
构造函数详细信息
ServiceBusMessage
public ServiceBusMessage(byte[] body)
ServiceBusMessage使用给定的字节数组主体创建 。
Parameters:
ServiceBusMessage
public ServiceBusMessage(AmqpMessageBody amqpMessageBody)
此构造函数提供了一种简单的方法,用于将消息正文作为 AMQP 数据类型 SEQUENCE
和 VALUE
进行创建ServiceBusMessage。 对于 SEQUENCE
,tt 目前仅支持发送和接收一个 AMQP 序列。 如果要使用单字节数组或字符串数据发送消息,也可以使用其他构造函数。
Parameters:
ServiceBusMessage
public ServiceBusMessage(BinaryData body)
创建包含 ServiceBusMessage 的 body
。 BinaryData 提供了各种表示字节数组的便利 API。 它还提供了一种序列化 Object 为 BinaryData的方法。
Parameters:
ServiceBusMessage
public ServiceBusMessage(ServiceBusReceivedMessage receivedMessage)
ServiceBusMessage使用 中的receivedMessage
属性创建 。 这通常在需要发送到另一个 ServiceBusReceivedMessage 实体时使用。
Parameters:
ServiceBusMessage
public ServiceBusMessage(String body)
ServiceBusMessage创建具有编码正文的 UTF-8 。
Parameters:
方法详细信息
addContext
public ServiceBusMessage addContext(String key, Object value)
将新的键值对添加到 Message 上的现有上下文。
Parameters:
Returns:
getApplicationProperties
public Map
获取一组自由格式 ServiceBusMessage 属性,这些属性可用于在服务总线操作期间传递与 ServiceBusMessage 关联的元数据。 的 getApplicationProperties()
一个常见用例是关联 的 getBody() 序列化提示,作为对想要反序列化二进制数据的使用者的帮助。
Returns:
getBody
public BinaryData getBody()
获取由 ServiceBusMessage包装的实际有效负载。
包装 BinaryData 字节数组,是可以表示的多种不同方式的抽象。 它提供方便的 API 来序列化/反序列化对象。
如果反序列化原始数据的方法对使用者来说并不明显,一种常见方法是在创建事件时使用 getApplicationProperties() ,将序列化提示关联为希望反序列化二进制数据的使用者。
Returns:
getContentType
public String getContentType()
获取消息的内容类型。
(可选)描述消息的有效负载,其描述符的格式为 RFC2045,第 5 节,例如“application/json”。
Returns:
getCorrelationId
public String getCorrelationId()
获取相关标识符。
允许应用程序出于关联目的指定消息的上下文。例如,反映正在答复的消息的 MessageId。
Returns:
getMessageId
public String getMessageId()
获取消息 ID。
消息标识符是应用程序定义的值,可用于唯一标识消息及其有效负载。 此标识符是自由格式字符串,可反映 GUID 或派生自应用程序上下文的标识符。 如果启用, 重复检测 功能将识别并删除具有相同 messageId
的消息的第二个和后续提交。
Returns:
getPartitionKey
public String getPartitionKey()
获取用于向分区实体发送消息的分区键。
对于已分区实体,设置此值后,可以将相关消息分配到同一内部分区,以便能够正确记录提交序列顺序。 分区是由哈希函数通过此值进行选择,无法直接选择。 对于会话感知实体, getSessionId() 属性将替代此值。
Returns:
getRawAmqpMessage
getReplyTo
public String getReplyTo()
获取要向其发送答复的实体的地址。
应用程序定义的这一可选值是一种标准方法,可用于向消息接收程序明示答复路径。 如果发送程序希望收到答复,它会将此值设置为,要将答复发送到的队列或主题的绝对或相关路径。
Returns:
getReplyToSessionId
public String getReplyToSessionId()
获取或设置用于扩充地址的 getReplyTo() 会话标识符。
此值扩充信息, getReplyTo() 并指定在发送到答复实体时应为答复设置哪个 sessionId
。
Returns:
getReplyToGroupId
消息的属性值。getScheduledEnqueueTime
public OffsetDateTime getScheduledEnqueueTime()
获取此消息的计划排队时间。
此值用于延迟消息可用性。 消息安全地添加到队列中,但不被视为活动,因此在计划的排队时间之前不可检索。 请注意,消息可能不会在确切的给定日期时间激活 (排队) ;实际激活时间取决于队列的工作负载及其状态。
Returns:
getSessionId
public String getSessionId()
获取会话感知实体的会话标识符。
对于会话感知实体,应用程序定义的此值指定了消息的会话附属关系。 会话标识符相同的消息会处于摘要锁定状态,并确切启用依序处理和解多路复用。 对于非会话感知实体,可忽略此值。 请参阅 消息会话。
Returns:
getSubject
public String getSubject()
获取消息的主题。
借助此属性,应用程序可以类似于电子邮件主题行的标准化方式,向接收程序指明消息目的。 映射的 AMQP 属性为“subject”。
Returns:
getTimeToLive
public Duration getTimeToLive()
获取此消息过期之前的持续时间。
此值是消息过期的相对持续时间,从中转站接受并存储消息的即时开始,如 中 getScheduledEnqueueTime()捕获的那样。 如果未显式设置,则假定值为相应队列或主题的 DefaultTimeToLive 集。 消息级 TimeToLive 值不得超过实体的 DefaultTimeToLive 设置,否则将会进行无提示调整。
Returns:
getTo
public String getTo()
获取“to”地址。
此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的 自动转发链接 方案中使用此值来指示消息的预期逻辑目标。
Returns:
setContentType
public ServiceBusMessage setContentType(String contentType)
设置 的 ServiceBusMessage内容类型。
(可选)描述消息的有效负载,其描述符的格式为 RFC2045,第 5 节,例如“application/json”。
Parameters:
Returns:
setCorrelationId
public ServiceBusMessage setCorrelationId(String correlationId)
设置相关标识符。
Parameters:
Returns:
setMessageId
public ServiceBusMessage setMessageId(String messageId)
设置消息 ID。
Parameters:
Returns:
setPartitionKey
public ServiceBusMessage setPartitionKey(String partitionKey)
设置用于将消息发送到分区实体的分区键
Parameters:
Returns:
setReplyTo
public ServiceBusMessage setReplyTo(String replyTo)
设置要向其发送答复的实体的地址。
Parameters:
Returns:
setReplyToSessionId
public ServiceBusMessage setReplyToSessionId(String replyToSessionId)
获取或设置用于扩充地址的 getReplyTo() 会话标识符。
Parameters:
Returns:
setScheduledEnqueueTime
public ServiceBusMessage setScheduledEnqueueTime(OffsetDateTime scheduledEnqueueTime)
设置此消息的计划排队时间。 null
不会设置 。 如果需要取消设置此值,可以通过使用键 AmqpMessageConstant#SCHEDULED_ENQUEUE_UTC_TIME_NAME从 AmqpAnnotatedMessage#getMessageAnnotations() 中删除值来完成。
Parameters:
Returns:
setSessionId
public ServiceBusMessage setSessionId(String sessionId)
设置会话感知实体的会话标识符。
Parameters:
Returns:
setSubject
public ServiceBusMessage setSubject(String subject)
设置邮件的主题。
Parameters:
Returns:
setTimeToLive
public ServiceBusMessage setTimeToLive(Duration timeToLive)
设置此消息过期之前的持续时间。
Parameters:
Returns:
setTo
public ServiceBusMessage setTo(String to)
设置“to”地址。
此属性已保留,以供将来用于路由方案,暂被中转站本身忽略。 应用程序可以在规则驱动的 自动转发链接 方案中使用此值来指示消息的预期逻辑目标。
Parameters:
Returns: