クラス GenericMessagingTemplate

実装されたすべてのインターフェース:
AwareBeanFactoryAwareDestinationResolvingMessageReceivingOperations<MessageChannel>DestinationResolvingMessageRequestReplyOperations<MessageChannel>DestinationResolvingMessageSendingOperations<MessageChannel>MessageReceivingOperations<MessageChannel>MessageRequestReplyOperations<MessageChannel>MessageSendingOperations<MessageChannel>

public class GenericMessagingTemplate extends AbstractDestinationResolvingMessagingTemplate<MessageChannel> implements BeanFactoryAware
メッセージを送受信する宛先名を MessageChannel に解決するメッセージングテンプレート。
導入:
4.0
作成者:
Mark Fisher, Rossen Stoyanchev, Gary Russell
  • フィールドの詳細

    • DEFAULT_SEND_TIMEOUT_HEADER

      public static final StringSE DEFAULT_SEND_TIMEOUT_HEADER
      送信タイムアウトに使用されるデフォルトのヘッダーキー。
      関連事項:
    • DEFAULT_RECEIVE_TIMEOUT_HEADER

      public static final StringSE DEFAULT_RECEIVE_TIMEOUT_HEADER
      受信タイムアウトに使用されるデフォルトのヘッダーキー。
      関連事項:
  • コンストラクターの詳細

    • GenericMessagingTemplate

      public GenericMessagingTemplate()
  • メソッドの詳細

    • setSendTimeout

      public void setSendTimeout(long sendTimeout)
      送信操作に使用するデフォルトのタイムアウト値を構成します。個々のメッセージに対してオーバーライドされる場合があります。
      パラメーター:
      sendTimeout - ミリ秒単位の送信タイムアウト
      関連事項:
    • getSendTimeout

      public long getSendTimeout()
      構成されたデフォルトの送信操作タイムアウト値を返します。
    • setReceiveTimeout

      public void setReceiveTimeout(long receiveTimeout)
      受信操作に使用するデフォルトのタイムアウト値を構成します。sendAndReceive 操作を使用すると、個々のメッセージに対してオーバーライドされる場合があります。
      パラメーター:
      receiveTimeout - ミリ秒単位の受信タイムアウト
      関連事項:
    • getReceiveTimeout

      public long getReceiveTimeout()
      構成された受信操作タイムアウト値を返します。
    • setSendTimeoutHeader

      public void setSendTimeoutHeader(StringSE sendTimeoutHeader)
      送信タイムアウトを決定するために使用されるヘッダーの名前を設定します(存在する場合)。デフォルト "sendTimeout"

      ヘッダーは、伝播を避けるためにメッセージを送信する前に削除されます。

      導入:
      5.0
    • getSendTimeoutHeader

      public StringSE getSendTimeoutHeader()
      構成された send-timeout ヘッダーを返します。
      導入:
      5.0
    • setReceiveTimeoutHeader

      public void setReceiveTimeoutHeader(StringSE receiveTimeoutHeader)
      送信タイムアウトを決定するために使用されるヘッダーの名前を設定します(存在する場合)。デフォルト "receiveTimeout" 。ヘッダーは、伝播を避けるためにメッセージを送信する前に削除されます。
      導入:
      5.0
    • getReceiveTimeoutHeader

      public StringSE getReceiveTimeoutHeader()
      構成された receive-timeout ヘッダーを返します。
      導入:
      5.0
    • setThrowExceptionOnLateReply

      public void setThrowExceptionOnLateReply(boolean throwExceptionOnLateReply)
      受信スレッドがタイムアウトになったか、すでに応答を受信したか、リクエストメッセージの送信中に例外が発生したために、受信スレッドが応答を受信しない場合に、応答を送信するスレッドに例外が発生するかどうか。

      デフォルト値は false です。この場合、WARN メッセージのみがログに記録されます。true に設定すると、ログメッセージに加えて MessageDeliveryException が発生します。

      パラメーター:
      throwExceptionOnLateReply - 例外をスローするかどうか
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory) throws BeansException
      インターフェースからコピーされた説明: BeanFactoryAware
      所有ファクトリを Bean インスタンスに提供するコールバック。

      通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet() またはカスタム init-method などの初期化コールバックの前に呼び出されます。

      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      パラメーター:
      beanFactory - 所有 BeanFactory(非 null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。
      例外:
      BeansException - 初期化エラーの場合
      関連事項:
    • doSend

      protected final void doSend(MessageChannel channel, Message<?> message)
      次で指定:
      クラス AbstractMessageSendingTemplate<MessageChannel>doSend 
    • doSend

      protected final void doSend(MessageChannel channel, Message<?> message, long timeout)
    • doReceive

      @Nullable protected final Message<?> doReceive(MessageChannel channel)
      クラスからコピーされた説明: AbstractMessageReceivingTemplate
      実際に、指定された宛先からメッセージを受信します。
      次で指定:
      クラス AbstractMessageReceivingTemplate<MessageChannel>doReceive 
      パラメーター:
      channel - 宛先
      戻り値:
      受信したメッセージ。たとえば、タイムアウトのためにメッセージを受信できなかった場合は、null 
    • doReceive

      @Nullable protected final Message<?> doReceive(MessageChannel channel, long timeout)
    • doSendAndReceive

      @Nullable protected final Message<?> doSendAndReceive(MessageChannel channel, Message<?> requestMessage)
      次で指定:
      クラス AbstractMessagingTemplate<MessageChannel>doSendAndReceive