public class GenericMessagingTemplate extends AbstractDestinationResolvingMessagingTemplate<MessageChannel> implements BeanFactoryAware
MessageChannel
に解決するメッセージングテンプレート。修飾子と型 | フィールドと説明 |
---|---|
static StringSE | DEFAULT_RECEIVE_TIMEOUT_HEADER 受信タイムアウトに使用されるデフォルトのヘッダーキー。 |
static StringSE | DEFAULT_SEND_TIMEOUT_HEADER 送信タイムアウトに使用されるデフォルトのヘッダーキー。 |
CONVERSION_HINT_HEADER, logger
コンストラクターと説明 |
---|
GenericMessagingTemplate() |
修飾子と型 | メソッドと説明 |
---|---|
protected Message<?> | doReceive(MessageChannel channel) 実際に、指定された宛先からメッセージを受信します。 |
protected Message<?> | doReceive(MessageChannel channel, long timeout) |
protected void | doSend(MessageChannel channel, Message<?> message) |
protected void | doSend(MessageChannel channel, Message<?> message, long timeout) |
protected Message<?> | doSendAndReceive(MessageChannel channel, Message<?> requestMessage) |
long | getReceiveTimeout() 構成された受信操作タイムアウト値を返します。 |
StringSE | getReceiveTimeoutHeader() 構成された receive-timeout ヘッダーを返します。 |
long | getSendTimeout() 構成されたデフォルトの送信操作タイムアウト値を返します。 |
StringSE | getSendTimeoutHeader() 構成された send-timeout ヘッダーを返します。 |
void | setBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。 |
void | setReceiveTimeout(long receiveTimeout) 受信操作に使用するデフォルトのタイムアウト値を構成します。 |
void | setReceiveTimeoutHeader(StringSE receiveTimeoutHeader) 送信タイムアウトを決定するために使用されるヘッダーの名前を設定します(存在する場合)。 |
void | setSendTimeout(long sendTimeout) 送信操作に使用するデフォルトのタイムアウト値を構成します。 |
void | setSendTimeoutHeader(StringSE sendTimeoutHeader) 送信タイムアウトを決定するために使用されるヘッダーの名前を設定します(存在する場合)。 |
void | setThrowExceptionOnLateReply(boolean throwExceptionOnLateReply) 受信スレッドがタイムアウトになったか、すでに応答を受信したか、リクエストメッセージの送信中に例外が発生したために、受信スレッドが応答を受信しない場合に、応答を送信するスレッドに例外が発生するかどうか。 |
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, getDestinationResolver, receive, receiveAndConvert, resolveDestination, send, sendAndReceive, setDestinationResolver
convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, sendAndReceive, sendAndReceive
doConvert, receive, receive, receiveAndConvert, receiveAndConvert
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, doConvert, getDefaultDestination, getMessageConverter, getRequiredDefaultDestination, processHeadersToSend, send, send, setDefaultDestination, setMessageConverter
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, convertAndSend, send, send
receive, receive, receiveAndConvert, receiveAndConvert
convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, convertSendAndReceive, sendAndReceive, sendAndReceive
public static final StringSE DEFAULT_SEND_TIMEOUT_HEADER
public void setSendTimeout(long sendTimeout)
sendTimeout
- ミリ秒単位の送信タイムアウト setSendTimeoutHeader(String)
public long getSendTimeout()
public void setReceiveTimeout(long receiveTimeout)
receiveTimeout
- ミリ秒単位の受信タイムアウト setReceiveTimeoutHeader(String)
public long getReceiveTimeout()
public void setSendTimeoutHeader(StringSE sendTimeoutHeader)
ヘッダーは、伝播を避けるためにメッセージを送信する前に削除されます。
public StringSE getSendTimeoutHeader()
public void setReceiveTimeoutHeader(StringSE receiveTimeoutHeader)
public StringSE getReceiveTimeoutHeader()
public void setThrowExceptionOnLateReply(boolean throwExceptionOnLateReply)
デフォルト値は false
です。この場合、WARN メッセージのみがログに記録されます。true
に設定すると、ログメッセージに加えて MessageDeliveryException
が発生します。
throwExceptionOnLateReply
- 例外をスローするかどうか public void setBeanFactory(BeanFactory beanFactory) throws BeansException
BeanFactoryAware
通常の Bean プロパティの設定後、ただし InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanFactoryAware
の setBeanFactory
beanFactory
- 所有 BeanFactory(非 null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。BeansException
- 初期化エラーの場合 BeanInitializationException
protected final void doSend(MessageChannel channel, Message<?> message)
AbstractMessageSendingTemplate<MessageChannel>
の doSend
protected final void doSend(MessageChannel channel, Message<?> message, long timeout)
@Nullable protected final Message<?> doReceive(MessageChannel channel)
AbstractMessageReceivingTemplate
AbstractMessageReceivingTemplate<MessageChannel>
の doReceive
channel
- 宛先 null
@Nullable protected final Message<?> doReceive(MessageChannel channel, long timeout)
@Nullable protected final Message<?> doSendAndReceive(MessageChannel channel, Message<?> requestMessage)
AbstractMessagingTemplate<MessageChannel>
の doSendAndReceive