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

ServiceBusMessage 类

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

public class ServiceBusMessage

封装要发送到服务总线的消息的数据结构。 产品文档中详细介绍了消息结构。

构造函数摘要

构造函数 说明
ServiceBusMessage(byte[] body)

ServiceBusMessage使用给定的字节数组主体创建 。

ServiceBusMessage(AmqpMessageBody amqpMessageBody)

此构造函数提供了一种简单的方法,用于将消息正文作为 AMQP 数据类型 SEQUENCEVALUE进行创建ServiceBusMessage

ServiceBusMessage(BinaryData body)

创建包含 ServiceBusMessagebodyBinaryData 提供了各种表示字节数组的便利 API。

ServiceBusMessage(ServiceBusReceivedMessage receivedMessage)

ServiceBusMessage使用 中的receivedMessage属性创建 。

ServiceBusMessage(String body)

ServiceBusMessage创建具有编码正文的 UTF-8

方法摘要

修饰符和类型 方法和描述
ServiceBusMessage addContext(String key, Object value)

将新的键值对添加到 Message 上的现有上下文。

Map<String,Object> getApplicationProperties()

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

BinaryData getBody()

获取由 ServiceBusMessage包装的实际有效负载。

String getContentType()

获取消息的内容类型。

String getCorrelationId()

获取相关标识符。

String getMessageId()

获取消息 ID。

String getPartitionKey()

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

AmqpAnnotatedMessage getRawAmqpMessage()

获取 AmqpAnnotatedMessage

String getReplyTo()

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

String getReplyToSessionId()

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

OffsetDateTime getScheduledEnqueueTime()

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

String getSessionId()

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

String getSubject()

获取消息的主题。

Duration getTimeToLive()

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

String getTo()

获取“to”地址。

ServiceBusMessage setContentType(String contentType)

设置 的 ServiceBusMessage内容类型。

ServiceBusMessage setCorrelationId(String correlationId)

设置相关标识符。

ServiceBusMessage setMessageId(String messageId)

设置消息 ID。

ServiceBusMessage setPartitionKey(String partitionKey)

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

ServiceBusMessage setReplyTo(String replyTo)

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

ServiceBusMessage setReplyToSessionId(String replyToSessionId)

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

ServiceBusMessage setScheduledEnqueueTime(OffsetDateTime scheduledEnqueueTime)

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

ServiceBusMessage setSessionId(String sessionId)

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

ServiceBusMessage setSubject(String subject)

设置邮件的主题。

ServiceBusMessage setTimeToLive(Duration timeToLive)

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

ServiceBusMessage setTo(String to)

设置“to”地址。

方法继承自 java.lang.Object

构造函数详细信息

ServiceBusMessage

public ServiceBusMessage(byte[] body)

ServiceBusMessage使用给定的字节数组主体创建 。

Parameters:

body - 服务总线消息的内容。

ServiceBusMessage

public ServiceBusMessage(AmqpMessageBody amqpMessageBody)

此构造函数提供了一种简单的方法,用于将消息正文作为 AMQP 数据类型 SEQUENCEVALUE进行创建ServiceBusMessage。 对于 SEQUENCE,tt 目前仅支持发送和接收一个 AMQP 序列。 如果要使用单字节数组或字符串数据发送消息,也可以使用其他构造函数。

Parameters:

amqpMessageBody - amqp 消息正文。

ServiceBusMessage

public ServiceBusMessage(BinaryData body)

创建包含 ServiceBusMessagebodyBinaryData 提供了各种表示字节数组的便利 API。 它还提供了一种序列化 ObjectBinaryData的方法。

Parameters:

body - 要为此 ServiceBusMessage设置的数据。

ServiceBusMessage

public ServiceBusMessage(ServiceBusReceivedMessage receivedMessage)

ServiceBusMessage使用 中的receivedMessage属性创建 。 这通常在需要发送到另一个 ServiceBusReceivedMessage 实体时使用。

Parameters:

receivedMessage - 要从中创建新消息的接收消息。

ServiceBusMessage

public ServiceBusMessage(String body)

ServiceBusMessage创建具有编码正文的 UTF-8

Parameters:

body - 服务总线消息的内容。

方法详细信息

addContext

public ServiceBusMessage addContext(String key, Object value)

将新的键值对添加到 Message 上的现有上下文。

Parameters:

key - 此上下文对象的键
value - 此上下文对象的值。

Returns:

已更新的 ServiceBusMessage

getApplicationProperties

public Map getApplicationProperties()

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

Returns:

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

getBody

public BinaryData getBody()

获取由 ServiceBusMessage包装的实际有效负载。

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

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

Returns:

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

getContentType

public String getContentType()

获取消息的内容类型。

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

Returns:

ServiceBusMessage 的内容类型。

getCorrelationId

public String getCorrelationId()

获取相关标识符。

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

Returns:

此消息的相关 ID。

getMessageId

public String getMessageId()

获取消息 ID。

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

Returns:

getPartitionKey

public String getPartitionKey()

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

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

Returns:

此消息的分区键。

getRawAmqpMessage

public AmqpAnnotatedMessage getRawAmqpMessage()

获取 AmqpAnnotatedMessage

Returns:

原始 AMQP 消息。

getReplyTo

public String getReplyTo()

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

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

Returns:

此邮件的 ReplyTo 属性值

getReplyToSessionId

public String getReplyToSessionId()

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

此值扩充信息, getReplyTo() 并指定在发送到答复实体时应为答复设置哪个 sessionId

Returns:

getReplyToGroupId 消息的属性值。

getScheduledEnqueueTime

public OffsetDateTime getScheduledEnqueueTime()

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

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

Returns:

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

getSessionId

public String getSessionId()

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

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

Returns:

ServiceBusMessage会话 ID。

getSubject

public String getSubject()

获取消息的主题。

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

Returns:

邮件的主题。

getTimeToLive

public Duration getTimeToLive()

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

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

Returns:

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

getTo

public String getTo()

获取“to”地址。

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

Returns:

此消息的“To”属性值

setContentType

public ServiceBusMessage setContentType(String contentType)

设置 的 ServiceBusMessage内容类型。

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

Parameters:

contentType - RFC2045消息的 Content-Type 描述符。

Returns:

已更新的 ServiceBusMessage

setCorrelationId

public ServiceBusMessage setCorrelationId(String correlationId)

设置相关标识符。

Parameters:

correlationId - 此消息的相关 ID

Returns:

已更新的 ServiceBusMessage

setMessageId

public ServiceBusMessage setMessageId(String messageId)

设置消息 ID。

Parameters:

messageId - 要设置的消息 ID。

Returns:

已更新的 ServiceBusMessage

setPartitionKey

public ServiceBusMessage setPartitionKey(String partitionKey)

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

Parameters:

partitionKey - 此消息的分区键。

Returns:

已更新的 ServiceBusMessage

setReplyTo

public ServiceBusMessage setReplyTo(String replyTo)

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

Parameters:

replyTo - 此邮件的 ReplyTo 属性值

Returns:

已更新的 ServiceBusMessage

setReplyToSessionId

public ServiceBusMessage setReplyToSessionId(String replyToSessionId)

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

Parameters:

replyToSessionId - 此消息的 ReplyToGroupId 属性值。

Returns:

已更新的 ServiceBusMessage

setScheduledEnqueueTime

public ServiceBusMessage setScheduledEnqueueTime(OffsetDateTime scheduledEnqueueTime)

设置此消息的计划排队时间。 null不会设置 。 如果需要取消设置此值,可以通过使用键 AmqpMessageConstant#SCHEDULED_ENQUEUE_UTC_TIME_NAMEAmqpAnnotatedMessage#getMessageAnnotations() 中删除值来完成。

Parameters:

scheduledEnqueueTime - 此消息应排入队列的日期时间Azure 服务总线。

Returns:

已更新的 ServiceBusMessage

setSessionId

public ServiceBusMessage setSessionId(String sessionId)

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

Parameters:

sessionId - 要设置的会话标识符。

Returns:

已更新的 ServiceBusMessage

setSubject

public ServiceBusMessage setSubject(String subject)

设置邮件的主题。

Parameters:

subject - 应用程序特定的主题。

Returns:

已更新的 ServiceBusMessage 对象。

setTimeToLive

public ServiceBusMessage setTimeToLive(Duration timeToLive)

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

Parameters:

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

Returns:

已更新的 ServiceBusMessage

setTo

public ServiceBusMessage setTo(String to)

设置“to”地址。

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

Parameters:

to - 到此消息的属性值。

Returns:

已更新的 ServiceBusMessage

适用于