public class JmsOutboundGateway extends AbstractReplyProducingMessageHandler implements ManageableLifecycle, MessageListenerSE
修飾子と型 | クラスと説明 |
---|---|
static class | JmsOutboundGateway.ReplyContainerProperties |
AbstractReplyProducingMessageHandler.RequestHandler
IntegrationManagement.ManagementOverrides
修飾子と型 | フィールドと説明 |
---|---|
static long | DEFAULT_RECEIVE_TIMEOUT デフォルトの受信タイムアウト(ミリ秒)。 |
messagingTemplate
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
コンストラクターと説明 |
---|
JmsOutboundGateway() |
修飾子と型 | メソッドと説明 |
---|---|
protected ConnectionSE | createConnection() この JMS ゲートウェイの新しい JMS 接続を作成します。 |
protected SessionSE | createSession(ConnectionSE connection) 提供された接続を使用して新しい JMS セッションを作成します。 |
protected void | doInit() |
StringSE | getComponentType() サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。 |
protected ObjectSE | handleRequestMessage(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。 |
boolean | isRunning() |
void | onMessage(MessageSE message) |
void | setConnectionFactory(ConnectionFactorySE connectionFactory) このゲートウェイが使用する JMS ConnectionFactory を設定します。 |
void | setCorrelationKey(StringSE correlationKey) JMS メッセージの受信者が CorrelationID を表すと期待する生成された UUID を保持する必要がある JMS プロパティの名前を指定します。 |
void | setDefaultPriority(int priority) IntegrationMessageHeaderAccessor.PRIORITY ヘッダーのないリクエストメッセージを送信するときに使用するデフォルトの JMS 優先度を指定します。 |
void | setDeliveryPersistent(boolean deliveryPersistent) ブール値( "true" または "false" )として指定して、メッセージ配信を永続的にするか非永続的にするかを設定します。 |
void | setDestinationResolver(DestinationResolver destinationResolver) "requestDestinationName" または "replyDestinationName" 値を解決するときに使用する DestinationResolver を指定します。 |
void | setExplicitQosEnabled(boolean explicitQosEnabled) 明示的な QoS 設定 (deliveryMode、優先度、timeToLive) を有効にするかどうかを指定します。 |
void | setExtractReplyPayload(boolean extractReplyPayload) このプロパティは、JMS 応答メッセージの処理方法を説明します。 |
void | setExtractRequestPayload(boolean extractRequestPayload) このプロパティは、Spring Integration メッセージから JMS メッセージを生成する方法を説明します。 |
void | setHeaderMapper(JmsHeaderMapper headerMapper) Spring Integration メッセージヘッダーを JMS メッセージプロパティとの間でマッピングするための JmsHeaderMapper 実装を提供します。 |
void | setIdleReplyContainerTimeout(long idleReplyContainerTimeout) アイドル状態のコンテナーのターゲットタイムアウトを秒単位で設定します。 |
void | setIdleReplyContainerTimeout(long idleReplyContainerTimeout, TimeUnitSE unit) アイドル状態のコンテナーのターゲットタイムアウトを設定します。 |
void | setMessageConverter(MessageConverter messageConverter) Spring Integration リクエストメッセージを JMS メッセージに変換し、JMS 応答メッセージを Spring Integration メッセージに戻すために使用する MessageConverter 戦略を提供します。 |
void | setReceiveTimeout(long receiveTimeout) 応答を待つときの MessageConsumer の受信呼び出しの最大タイムアウト値を設定します。 |
void | setReplyChannel(MessageChannel replyChannel) Spring Integration 応答チャネルを指定します。 |
void | setReplyContainerProperties(JmsOutboundGateway.ReplyContainerProperties replyContainerProperties) |
void | setReplyDestination(DestinationSE replyDestination) 応答メッセージを受信する JMS 宛先を設定します。 |
void | setReplyDestinationExpression(Expression replyDestinationExpression) 応答宛先インスタンスまたは応答宛先名を決定するために使用される SpEL 式を設定します。 |
void | setReplyDestinationName(StringSE replyDestinationName) 応答メッセージを受信する JMS 宛先の名前を設定します。 |
void | setReplyPubSubDomain(boolean replyPubSubDomain) 返信先がトピックかどうかを指定します。 |
void | setRequestDestination(DestinationSE requestDestination) リクエストメッセージの送信先となる JMS 宛先を設定します。 |
void | setRequestDestinationExpression(Expression requestDestinationExpression) リクエストの宛先インスタンスまたはリクエストの宛先名を決定するために使用される SpEL 式を設定します。 |
void | setRequestDestinationName(StringSE requestDestinationName) リクエストメッセージの送信先となる JMS 宛先の名前を設定します。 |
void | setRequestPubSubDomain(boolean requestPubSubDomain) リクエスト先がトピックかどうかを指定します。 |
void | setRequiresReply(boolean requiresReply) 返信が必要かどうかのフラグ。 |
void | setTimeToLive(long timeToLive) 送信された各メッセージの timeToLive を指定します。 |
void | setUseReplyContainer(boolean useReplyContainer) |
void | start() |
void | stop() |
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
handleMessage, onComplete, onError, onNext, onSubscribe
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
getThisAs
getBeanName, getComponentName
public static final long DEFAULT_RECEIVE_TIMEOUT
public void setDeliveryPersistent(boolean deliveryPersistent)
デフォルトは "true"、つまり配信モードは "PERSISTENT" です。
deliveryPersistent
- 持続的配信の場合は true。DeliveryMode.PERSISTENT
SE, DeliveryMode.NON_PERSISTENT
SEpublic void setConnectionFactory(ConnectionFactorySE connectionFactory)
connectionFactory
- 接続ファクトリ。public void setRequestDestination(DestinationSE requestDestination)
requestDestination
- リクエスト先。public void setRequestDestinationName(StringSE requestDestinationName)
requestDestinationName
- リクエスト宛先名。public void setRequestDestinationExpression(Expression requestDestinationExpression)
requestDestinationExpression
- リクエスト宛先の式。public void setReplyDestination(DestinationSE replyDestination)
TemporaryQueue
SE を作成します。replyDestination
- 返信先。public void setReplyDestinationName(StringSE replyDestinationName)
TemporaryQueue
SE を作成します。replyDestinationName
- 返信先の名前。public void setReplyDestinationExpression(Expression replyDestinationExpression)
replyDestinationExpression
- 返信先の表現。public void setDestinationResolver(DestinationResolver destinationResolver)
DestinationResolver
を指定します。デフォルトは DynamicDestinationResolver
のインスタンスです。destinationResolver
- 宛先リゾルバー。public void setRequestPubSubDomain(boolean requestPubSubDomain)
requestPubSubDomain
- リクエストの宛先がトピックの場合は true。public void setReplyPubSubDomain(boolean replyPubSubDomain)
replyPubSubDomain
- 返信先がトピックの場合は true。public void setReceiveTimeout(long receiveTimeout)
receiveTimeout
- 受信タイムアウト。public void setDefaultPriority(int priority)
IntegrationMessageHeaderAccessor.PRIORITY
ヘッダーのないリクエストメッセージを送信するときに使用するデフォルトの JMS 優先度を指定します。値は 0 から 9 の範囲内でなければなりません。priority
- 優先順位。public void setTimeToLive(long timeToLive)
timeToLive
- 生きる時間。public void setExplicitQosEnabled(boolean explicitQosEnabled)
explicitQosEnabled
- 明示的な QoS を有効にする場合は true。public void setCorrelationKey(StringSE correlationKey)
この値が NULL(デフォルト)の場合、応答コンシューマーの MessageSelector は、JMSCorrelationID がリクエストのメッセージ ID と等しいことを期待します。
送信相関 UUID 値を実際の JMSCorrelationID プロパティに格納する場合は、この値を "JMSCorrelationID" に設定します。
受信メッセージの既存の "JMSCorrelationID" ( "jms_correlationId" からマッピング)を使用する場合は、このプロパティを "JMSCorrelationID *" にアスタリスクを付けて設定できます。メッセージに相関 ID がある場合はそれが使用され、そうでない場合は "JMSCorrelationID" ヘッダーに新しいものが設定されます。ただし、ゲートウェイには一意性を保証する手段がなく、相関 ID が一意でない場合、予期しない副作用が発生する可能性があることを理解しましょう。
応答リスナーが使用されている場合、この設定は許可されません。
correlationKey
- 相関キー。public void setMessageConverter(MessageConverter messageConverter)
MessageConverter
戦略を提供します。 デフォルトは SimpleMessageConverter
です。
messageConverter
- メッセージコンバーター。public void setHeaderMapper(JmsHeaderMapper headerMapper)
JmsHeaderMapper
実装を提供します。headerMapper
- ヘッダーマッパー。public void setExtractRequestPayload(boolean extractRequestPayload)
MessageConverter
に送信されるもの(Spring Integration メッセージ全体またはそのペイロードのみ)を実際に管理します。デフォルトは "true" です。extractRequestPayload
- true の場合、リクエストペイロードを抽出します。public void setExtractReplyPayload(boolean extractReplyPayload)
extractReplyPayload
- 応答ペイロードを抽出する場合は true。public void setReplyChannel(MessageChannel replyChannel)
replyChannel
- 返信チャンネル。public void setReplyContainerProperties(JmsOutboundGateway.ReplyContainerProperties replyContainerProperties)
replyContainerProperties
- 設定する replyContainerPropertiespublic StringSE getComponentType()
IntegrationObjectSupport
NamedComponent
の getComponentType
MessageHandlerSupport
の getComponentType
public void setUseReplyContainer(boolean useReplyContainer)
useReplyContainer
- 設定する useReplyContainerpublic void setRequiresReply(boolean requiresReply)
AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler
の setRequiresReply
requiresReply
- 返信が必要な場合は true。public void setIdleReplyContainerTimeout(long idleReplyContainerTimeout)
idleReplyContainerTimeout
- 秒単位のタイムアウト。public void setIdleReplyContainerTimeout(long idleReplyContainerTimeout, TimeUnitSE unit)
idleReplyContainerTimeout
- 秒単位のタイムアウト。unit
- 時間の単位。protected void doInit()
AbstractReplyProducingMessageHandler
の doInit
public void start()
Lifecycle
の start
ManageableLifecycle
の start
public void stop()
Lifecycle
の stop
ManageableLifecycle
の stop
public boolean isRunning()
Lifecycle
の isRunning
ManageableLifecycle
の isRunning
protected ObjectSE handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler
の handleRequestMessage
requestMessage
- リクエストメッセージ。null
protected ConnectionSE createConnection() throws JMSExceptionSE
JMSExceptionSE
- すべての JMSException。protected SessionSE createSession(ConnectionSE connection) throws JMSExceptionSE
connection
- 接続。JMSExceptionSE
- すべての JMSException。public void onMessage(MessageSE message)
MessageListenerSE
の onMessageSE