IMessage インターフェイス

public interface IMessage

Azure Service Busとそのクライアントの間で交換されるメッセージを表します。

メソッドの概要

修飾子と型 メソッドと説明
abstract IMessage createCopy()

このメッセージの簡易コピーを作成します。

abstract byte[] getBody()

非推奨

メッセージ本文には、バイト配列だけが必要ではありません。 に置き換えられました getMessageBody()

このメッセージの本文をバイト配列として取得します。

abstract String getContentType()

このメッセージのコンテンツ タイプを取得します。

abstract String getCorrelationId()

関連付け識別子を取得します。

abstract String getDeadLetterSource()

メッセージが配信不能になる前に、このメッセージがエンキューされたキューまたはサブスクリプションの名前を取得します。

abstract long getDeliveryCount()

このメッセージがクライアントに配信された回数を取得します。

abstract Instant getEnqueuedTimeUtc()

このメッセージがAzure Service Busにエンキューされた瞬間を取得します。

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()

非推奨

に置き換えられました getScheduledEnqueueTimeUtc()

このメッセージのスケジュールされたエンキュー時間を取得します。

abstract long getSequenceNumber()

Service Bus によってメッセージに割り当てられた一意の番号を取得します。

abstract String getSessionId()

セッション対応エンティティのセッション識別子を取得します。

abstract Duration getTimeToLive()

このメッセージの有効期限が切れるまでの期間を取得します。

abstract String getTo()

"宛先" アドレスを取得します。

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)

別のパーティション分割されたエンティティを介して宛先エンティティにメッセージを送信するための via-partition キーを設定します

メソッドの詳細

createCopy

public abstract IMessage createCopy()

このメッセージの簡易コピーを作成します。

戻り値:

このメッセージのコピー

getBody

@Deprecated
public abstract byte[] getBody()

非推奨

メッセージ本文には、バイト配列だけが必要ではありません。 に置き換えられました getMessageBody()

このメッセージの本文をバイト配列として取得します。 バイトをデコードするのはクライアント アプリケーション次第です。

戻り値:

このメッセージの本文

getContentType

public abstract String getContentType()

このメッセージのコンテンツ タイプを取得します。 必要に応じて、メッセージのペイロードを記述します。記述子は、"application/json" など、RFC2045セクション 5 の形式に従います。 コンテンツ タイプはメッセージ本文の種類と同じではないことに注意してください。

戻り値:

このメッセージのコンテンツ タイプ

getCorrelationId

public abstract String getCorrelationId()

関連付け識別子を取得します。 相関関係のために、アプリケーションがメッセージのコンテキストを指定できるようにします (たとえば、応答されるメッセージの MessageId を示すなど)。

戻り値:

このメッセージの関連付け ID

getDeadLetterSource

public abstract String getDeadLetterSource()

メッセージが配信不能になる前に、このメッセージがエンキューされたキューまたはサブスクリプションの名前を取得します。 この値は、配信不能になり、その後配信不能キューから別のエンティティに自動転送されたメッセージでのみ設定されます。 メッセージが配信不能になったエンティティを示します。 このプロパティは読み取り専用です。

戻り値:

このメッセージの配信不能ソース

getDeliveryCount

public abstract long getDeliveryCount()

このメッセージがクライアントに配信された回数を取得します。 このカウントは、メッセージのロックが有効期限切れになった場合、またはメッセージが受信者によって明示的に破棄された場合に増分されます。 このプロパティは読み取り専用です。

戻り値:

このメッセージの配信数。

getEnqueuedTimeUtc

public abstract Instant getEnqueuedTimeUtc()

このメッセージがAzure Service Busにエンキューされた瞬間を取得します。 メッセージがエンティティで受け入れおよび格納された UTC 時刻。 スケジュールされたメッセージの場合、メッセージがアクティブ化された時刻が反映されます。 この値は、受信者が送信者の時計を信頼したくない場合に、信頼できる中立的な到着時間インジケーターとして使用できます。 このプロパティは読み取り専用です。

戻り値:

Azure Service Busでメッセージがエンキューされた瞬間

getExpiresAtUtc

public abstract Instant getExpiresAtUtc()

このメッセージの有効期限が切れる瞬間を取得します。 値は、メッセージの削除がスケジュールされ、有効期限が切れたためにエンティティから取得できなくなる場合の UTC の瞬間です。 有効期限は、 プロパティによって制御されます getTimeToLive() 。 このプロパティは、 から getEnqueuedTimeUtc()+getTimeToLive()計算されます。

戻り値:

このメッセージの有効期限が切れるインスタント

getLabel

public abstract String getLabel()

アプリケーション固有のメッセージ ラベルを取得します。 このプロパティを使用すると、アプリケーションは、電子メールの件名行と同様に標準化された方法でメッセージの目的を受信者に示すことができます。 マップされた AMQP プロパティは "subject" です。

戻り値:

このメッセージの Label プロパティ値

getLockToken

public abstract UUID getLockToken()

現在のメッセージのロック トークンを取得します。 ロック トークンは、PEEKLOCK モードでブローカーによって保持されているロックへの参照です。 ロックは、 製品ドキュメントで詳しく説明されているように、メッセージを明示的に解決するために使用されます。 また、このトークンを使用して 、Deferral API を介してロックを永続的にピン留めし、それを使用してメッセージを通常の配信状態フローから取り出すこともできます。 このプロパティは読み取り専用です。

戻り値:

このメッセージのロック トークン。

getLockedUntilUtc

public abstract Instant getLockedUntilUtc()

このメッセージのロックの有効期限が切れる瞬間を取得します。 このプロパティは、ロックされた状態 (事前設定ではなくピーク ロック受信モード) で取得されたメッセージの場合に、メッセージがキュー/サブスクリプション内でロック状態に保持される期限の UTC 時刻を示します。 ロックの有効期限が切れると、 がインクリメントされ、 getDeliveryCount() メッセージが再び取得できるようになります。 このプロパティは読み取り専用です。

戻り値:

PEEKLOCK モードを使用してメッセージを受信した場合に、このメッセージのロックの有効期限が切れる瞬間。 それ以外の場合は null を返します。

getMessageBody

public abstract MessageBody getMessageBody()

このメッセージの本文を取得します。 クライアント アプリケーションでは、本文の種類に基づいてメッセージ コンテンツを抽出する必要があります。

戻り値:

このメッセージの本文

getMessageId

public abstract String getMessageId()

このメッセージの ID を取得します。 メッセージ識別子は、アプリケーションによって定義される、メッセージとそのペイロードを一意に識別する値です。 この識別子は自由形式の文字列で、GUID またはアプリケーションのコンテキストから派生した識別子を反映することができます。 有効にすると、 重複検出 機能によって、同じ MessageId を持つメッセージの 2 番目以降の送信が識別され、削除されます。

戻り値:

このメッセージの ID

getPartitionKey

public abstract String getPartitionKey()

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを取得します。 パーティション分割されたエンティティの場合、この値を設定すると、関連するメッセージを同じ内部パーティションに割り当てて、送信順序が正しく記録されるようにできます。 パーティションはハッシュ関数でこの値を介して選択され、直接選択することはできません。 セッション対応エンティティの場合、 プロパティはこの getSessionId() 値をオーバーライドします。

戻り値:

このメッセージのパーティション キー

getProperties

public abstract Map getProperties()

このメッセージのユーザー アプリケーション プロパティのマップを取得します。 クライアント アプリケーションでは、このマップを使用して、メッセージのユーザー プロパティ (ヘッダー) を設定できます。

戻り値:

このメッセージのユーザー アプリケーション プロパティのマップ

getReplyTo

public abstract String getReplyTo()

返信を送信するエンティティのアドレスを取得します。 これはアプリケーションによって定義される省略可能な値であり、メッセージの受信者への応答パスを表す標準的な方法です。 応答が必要な場合、送信者は、この値を応答の送信先にするキューまたはトピックの絶対または相対パスに設定します。

戻り値:

このメッセージの ReplyTo プロパティ値

getReplyToSessionId

public abstract String getReplyToSessionId()

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。 この値は、ReplyTo の情報を補足し、応答が応答エンティティに送信されるときに設定する必要がある SessionId を指定します。

戻り値:

このメッセージの ReplyToSessionId プロパティ値

getScheduledEnqueueTimeUtc

public abstract Instant getScheduledEnqueueTimeUtc()

このメッセージのスケジュールされたエンキュー時間を取得します。 この値は、遅延メッセージの可用性に使用されます。 メッセージはキューに安全に追加されますが、アクティブとは見なされないため、スケジュールされたエンキュー時間まで取得できません。 メッセージは、特定の時点でアクティブ化 (エンキュー) されないことに注意してください。実際のアクティブ化時間は、キューのワークロードとその状態によって異なります。

戻り値:

Azure Service Busでメッセージがエンキューされる瞬間

getScheduledEnqueuedTimeUtc

@Deprecated
public abstract Instant getScheduledEnqueuedTimeUtc()

非推奨

に置き換えられました getScheduledEnqueueTimeUtc()

このメッセージのスケジュールされたエンキュー時間を取得します。 この値は、遅延メッセージの可用性に使用されます。 メッセージはキューに安全に追加されますが、アクティブとは見なされないため、スケジュールされたエンキュー時間まで取得できません。 メッセージは、特定の時点でアクティブ化 (エンキュー) されないことに注意してください。実際のアクティブ化時間は、キューのワークロードとその状態によって異なります。

戻り値:

Azure Service Busでメッセージがエンキューされる瞬間

getSequenceNumber

public abstract long getSequenceNumber()

Service Bus によってメッセージに割り当てられた一意の番号を取得します。 このシーケンス番号は、メッセージがブローカーおよび関数によって受け入れおよび格納されるときに真の識別子として割り当てられる 64 ビットの整数です。 パーティション分割されたエンティティの場合、最上位の 16 ビットはパーティション識別子を表します。 シーケンス番号はギャップなしで単調に増分されます。 48 - 64 ビット範囲が使い果たされると、0 にロールオーバーされます。 このプロパティは読み取り専用です。

戻り値:

このメッセージのシーケンス番号

getSessionId

public abstract String getSessionId()

セッション対応エンティティのセッション識別子を取得します。 この値はアプリケーションによって定義され、セッションを認識するエンティティの場合に、メッセージのセッションへの所属を指定します。 同じセッション識別子を持つメッセージがまとめてロックされ、正確な順序での処理と多重化が可能になります。 セッションを認識しないエンティティの場合、この値は無視されます。

戻り値:

このメッセージのセッション ID

getTimeToLive

public abstract Duration getTimeToLive()

このメッセージの有効期限が切れるまでの期間を取得します。 この値は、メッセージが期限切れになるまでの相対的な期間です。これは、 で getEnqueuedTimeUtc()キャプチャされたメッセージがブローカーによって受け入れられ、格納された瞬間から始まります。 明示的に設定しない場合、想定される値は、それぞれのキューまたはトピックに設定された DefaultTimeToLive です。 メッセージレベルの TimeToLive 値をエンティティの DefaultTimeToLive の設定より長くすることはできません。長くした場合、自動的に調整されます。

戻り値:

このメッセージの Time to Live 期間

getTo

public abstract String getTo()

"宛先" アドレスを取得します。

戻り値:

このメッセージのプロパティ値

getViaPartitionKey

public abstract String getViaPartitionKey()

別のパーティション分割された転送エンティティを介してエンティティにメッセージを送信するためのパーティション キーを取得します。 トランザクションのスコープ内の転送キューを介してメッセージが送信される場合、この値は転送キュー パーティションを選択します。これは機能的には と同等 getPartitionKey() であり、メッセージが転送されるときにメッセージが一緒に保持されるようにします。

戻り値:

キュー経由で のパーティション キー。

setBody

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

非推奨

メッセージ本文には、バイト配列だけが必要ではありません。 に置き換えられました setMessageBody(MessageBody body)

このメッセージの本文をバイト配列として設定します。

パラメーター:

body - このメッセージの本文

setContentType

public abstract void setContentType(String contentType)

このメッセージのコンテンツ タイプを設定します。

パラメーター:

contentType - このメッセージのコンテンツ タイプ

setCorrelationId

public abstract void setCorrelationId(String correlationId)

関連付け識別子を設定します。

パラメーター:

correlationId - このメッセージの関連付け ID

setLabel

public abstract void setLabel(String label)

アプリケーション固有のメッセージ ラベルを設定します。

パラメーター:

label - このメッセージの Label プロパティ値

setMessageBody

public abstract void setMessageBody(MessageBody body)

このメッセージの本文を設定します。

パラメーター:

body - このメッセージの本文

setMessageId

public abstract void setMessageId(String messageId)

このメッセージの ID を設定します。

パラメーター:

messageId - このメッセージの ID

setPartitionKey

public abstract void setPartitionKey(String partitionKey)

パーティション分割されたエンティティにメッセージを送信するためのパーティション キーを設定します

パラメーター:

partitionKey - このメッセージのパーティション キー

setProperties

public abstract void setProperties(Map properties)

このメッセージのユーザー アプリケーション プロパティのマップを設定します。 クライアント アプリケーションは、このマップを使用してメッセージにユーザー プロパティを設定できます。

パラメーター:

properties - このメッセージのユーザー アプリケーション プロパティのマップ

setReplyTo

public abstract void setReplyTo(String replyTo)

返信を送信するエンティティのアドレスを設定します。

パラメーター:

replyTo - このメッセージの ReplyTo プロパティ値

setReplyToSessionId

public abstract void setReplyToSessionId(String replyToSessionId)

アドレスを拡張するセッション識別子を getReplyTo() 取得または設定します。

パラメーター:

replyToSessionId - このメッセージの ReplyToSessionId プロパティ値

setScheduledEnqueueTimeUtc

public abstract void setScheduledEnqueueTimeUtc(Instant scheduledEnqueueTimeUtc)

このメッセージのスケジュールされたエンキュー時間を設定します。

パラメーター:

scheduledEnqueueTimeUtc - Azure Service Busでこのメッセージをエンキューする瞬間

setScheduledEnqueuedTimeUtc

@Deprecated
public abstract void setScheduledEnqueuedTimeUtc(Instant scheduledEnqueueTimeUtc)

非推奨

このメッセージのスケジュールされたエンキュー時間を設定します。

パラメーター:

scheduledEnqueueTimeUtc - Azure Service Busでこのメッセージをエンキューする瞬間

setSessionId

public abstract void setSessionId(String sessionId)

セッション対応エンティティのセッション識別子を設定します。

パラメーター:

sessionId - このメッセージのセッション ID

setTimeToLive

public abstract void setTimeToLive(Duration timeToLive)

このメッセージの有効期限が切れるまでの期間を設定します。

パラメーター:

timeToLive - このメッセージの Time to Live 期間

setTo

public abstract void setTo(String to)

"to" アドレスを設定します。 このプロパティはルーティング シナリオでの将来の使用のために予約されており、現在はブローカー自体で無視されます。 アプリケーションは、ルール駆動型 の自動転送チェーン シナリオでこの値を使用して、メッセージの目的の論理宛先を示すことができます。

パラメーター:

to - このメッセージのプロパティ値

setViaPartitionKey

public abstract void setViaPartitionKey(String viaPartitionKey)

別のパーティション分割されたエンティティを介して宛先エンティティにメッセージを送信するための via-partition キーを設定します

パラメーター:

viaPartitionKey - このメッセージの via-partition キー

適用対象