クラス JmsOutboundGateway
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.jms.JmsOutboundGateway
- 実装されたすべてのインターフェース:
MessageListenerEE
、org.reactivestreams.Subscriber<Message<?>>
、Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、Lifecycle
、Ordered
、ExpressionCapable
、Orderable
、MessageProducer
、HeaderPropagationAware
、IntegrationPattern
、NamedComponent
、IntegrationManagement
、ManageableLifecycle
、TrackableComponent
、MessageHandler
、reactor.core.CoreSubscriber<Message<?>>
public class JmsOutboundGateway
extends AbstractReplyProducingMessageHandler
implements ManageableLifecycle, MessageListenerEE
リクエスト / 応答 JMS の送信メッセージングゲートウェイ。
- 作成者:
- Mark Fisher, Arjen Poutsma, Juergen Hoeller, Oleg Zhurakousky, Gary Russell, Artem Bilan, Christian Tzolov
ネストされたクラスのサマリー
ネストされたクラスクラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたネストクラス / インターフェース
AbstractReplyProducingMessageHandler.RequestHandler
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverrides
フィールドサマリー
フィールドクラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたフィールド
messagingTemplate
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, logger
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ConnectionEE
この JMS ゲートウェイの新しい JMS 接続を作成します。protected SessionEE
createSession
(ConnectionEE connection) 提供された接続を使用して新しい JMS セッションを作成します。protected void
doInit()
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected ObjectSE
handleRequestMessage
(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。boolean
void
void
setConnectionFactory
(ConnectionFactoryEE 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、priority、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
(DestinationEE replyDestination) 応答メッセージを受信する JMS 宛先を設定します。void
setReplyDestinationExpression
(Expression replyDestinationExpression) 応答宛先インスタンスまたは応答宛先名を決定するために使用される SpEL 式を設定します。void
setReplyDestinationName
(StringSE replyDestinationName) 応答メッセージを受信する JMS 宛先の名前を設定します。void
setReplyPubSubDomain
(boolean replyPubSubDomain) 返信先がトピックかどうかを指定します。void
setRequestDestination
(DestinationEE 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()
クラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたメソッド
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader
クラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたメソッド
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeaders
クラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention
クラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack
クラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContext
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAs
インターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
フィールドの詳細
DEFAULT_RECEIVE_TIMEOUT
public static final long DEFAULT_RECEIVE_TIMEOUTデフォルトの受信タイムアウト(ミリ秒)。- 関連事項:
コンストラクターの詳細
JmsOutboundGateway
public JmsOutboundGateway()
メソッドの詳細
setDeliveryPersistent
public void setDeliveryPersistent(boolean deliveryPersistent) ブール値( "true" または "false" )として指定して、メッセージ配信を永続的にするか非永続的にするかを設定します。これにより、配信モードが "PERSISTENT" (1) または "NON_PERSISTENT" (2) に応じて設定されます。デフォルトは "true"、つまり配信モードは "PERSISTENT" です。
- パラメーター:
deliveryPersistent
- 持続的配信の場合は true。- 関連事項:
setConnectionFactory
このゲートウェイが使用する JMS ConnectionFactory を設定します。これは必須のプロパティです。- パラメーター:
connectionFactory
- 接続ファクトリ。
setRequestDestination
リクエストメッセージの送信先となる JMS 宛先を設定します。これまたは "requestDestinationName" または "requestDestinationExpression" のいずれかが必要です。- パラメーター:
requestDestination
- リクエスト先。
setRequestDestinationName
リクエストメッセージの送信先となる JMS 宛先の名前を設定します。これまたは "requestDestination" または "requestDestinationExpression" のいずれかが必要です。- パラメーター:
requestDestinationName
- リクエスト宛先名。
setRequestDestinationExpression
リクエストの宛先インスタンスまたはリクエストの宛先名を決定するために使用される SpEL 式を設定します。これまたは "requestDestination" または "requestDestinationName" のいずれかが必要です。- パラメーター:
requestDestinationExpression
- リクエスト宛先の式。
setReplyDestination
応答メッセージを受信する JMS 宛先を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとにTemporaryQueue
EE を作成します。- パラメーター:
replyDestination
- 返信先。
setReplyDestinationName
応答メッセージを受信する JMS 宛先の名前を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとにTemporaryQueue
EE を作成します。- パラメーター:
replyDestinationName
- 返信先の名前。
setReplyDestinationExpression
応答宛先インスタンスまたは応答宛先名を決定するために使用される SpEL 式を設定します。これまたは "replyDestination" または "replyDestinationName" のいずれかが必要です。- パラメーター:
replyDestinationExpression
- 返信先の表現。
setDestinationResolver
"requestDestinationName" または "replyDestinationName" の値を解決するときに使用するDestinationResolver
を提供します。デフォルトはDynamicDestinationResolver
のインスタンスです。- パラメーター:
destinationResolver
- 宛先リゾルバー。
setRequestPubSubDomain
public void setRequestPubSubDomain(boolean requestPubSubDomain) リクエスト先がトピックかどうかを指定します。この値は、宛先参照ではなくトピックの宛先名を指定するときに必要です。- パラメーター:
requestPubSubDomain
- リクエストの宛先がトピックの場合は true。
setReplyPubSubDomain
public void setReplyPubSubDomain(boolean replyPubSubDomain) 返信先がトピックかどうかを指定します。この値は、宛先参照ではなくトピックの宛先名を指定するときに必要です。- パラメーター:
replyPubSubDomain
- 返信先がトピックの場合は true。
setReceiveTimeout
public void setReceiveTimeout(long receiveTimeout) 応答を待つときの MessageConsumer の受信呼び出しの最大タイムアウト値を設定します。デフォルト値は 5 秒です。- パラメーター:
receiveTimeout
- 受信タイムアウト。
setDefaultPriority
public void setDefaultPriority(int priority) IntegrationMessageHeaderAccessor.PRIORITY
ヘッダーのないリクエストメッセージを送信するときに使用するデフォルトの JMS 優先度を指定します。値は 0 から 9 の範囲内でなければなりません。- パラメーター:
priority
- 優先順位。- 導入:
- 5.1.2
setTimeToLive
public void setTimeToLive(long timeToLive) 送信された各メッセージの timeToLive を指定します。デフォルト値は無期限を示します。- パラメーター:
timeToLive
- 生きる時間。
setExplicitQosEnabled
public void setExplicitQosEnabled(boolean explicitQosEnabled) 明示的な QoS 設定を有効にするかどうかを指定します(deliveryMode、priority、timeToLive)。- パラメーター:
explicitQosEnabled
- 明示的な QoS を有効にする場合は true。
setCorrelationKey
JMS メッセージの受信者が CorrelationID を表すと期待する生成された UUID を保持する必要がある JMS プロパティの名前を指定します。応答メッセージを待機するとき、MessageSelector は、このプロパティ名とリクエストで送信された UUID 値を照合するように構成されます。この値が NULL(デフォルト)の場合、応答コンシューマーの MessageSelector は、JMSCorrelationID がリクエストのメッセージ ID と等しいことを期待します。
送信相関 UUID 値を実際の JMSCorrelationID プロパティに格納する場合は、この値を "JMSCorrelationID" に設定します。
受信メッセージの既存の "JMSCorrelationID" ( "jms_correlationId" からマッピング)を使用する場合は、このプロパティを "JMSCorrelationID *" にアスタリスクを付けて設定できます。メッセージに相関 ID がある場合はそれが使用され、そうでない場合は "JMSCorrelationID" ヘッダーに新しいものが設定されます。ただし、ゲートウェイには一意性を保証する手段がなく、相関 ID が一意でない場合、予期しない副作用が発生する可能性があることを理解しましょう。
応答リスナーが使用されている場合、この設定は許可されません。
- パラメーター:
correlationKey
- 相関キー。
setMessageConverter
Spring Integration リクエストメッセージを JMS メッセージに変換し、JMS 応答メッセージを Spring Integration メッセージに戻すために使用するMessageConverter
戦略を提供します。デフォルトは
SimpleMessageConverter
です。- パラメーター:
messageConverter
- メッセージコンバーター。
setHeaderMapper
Spring Integration メッセージヘッダーを JMS メッセージプロパティとの間でマッピングするためのJmsHeaderMapper
実装を提供します。- パラメーター:
headerMapper
- ヘッダーマッパー。
setExtractRequestPayload
public void setExtractRequestPayload(boolean extractRequestPayload) このプロパティは、Spring Integration メッセージから JMS メッセージを生成する方法を記述します。'true' に設定すると、JMS メッセージの本文は Spring Integration メッセージのペイロードから(MessageConverter を介して)作成されます。'false' に設定すると、Spring Integration メッセージ全体が JMS メッセージ作成のベースとして機能します。JMS メッセージは MessageConverter によって作成されるため、これはMessageConverter
に送信されるもの(Spring Integration メッセージ全体またはそのペイロードのみ)を実際に管理します。デフォルトは "true" です。- パラメーター:
extractRequestPayload
- true の場合、リクエストペイロードを抽出します。
setExtractReplyPayload
public void setExtractReplyPayload(boolean extractReplyPayload) このプロパティは、JMS 応答メッセージの処理方法を説明します。'true' に設定すると、Spring Integration メッセージのペイロードは JMS 応答メッセージの本文から(MessageConverter を介して)作成されます。それ以外の場合、JMS メッセージ全体が Spring Integration メッセージのペイロードになります。- パラメーター:
extractReplyPayload
- 応答ペイロードを抽出する場合は true。
setReplyChannel
Spring Integration 応答チャネルを指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。- パラメーター:
replyChannel
- 返信チャンネル。
setReplyContainerProperties
public void setReplyContainerProperties(JmsOutboundGateway.ReplyContainerProperties replyContainerProperties) - パラメーター:
replyContainerProperties
- 設定する replyContainerProperties
getComponentType
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
MessageHandlerSupport
のgetComponentType
setUseReplyContainer
public void setUseReplyContainer(boolean useReplyContainer) - パラメーター:
useReplyContainer
- 設定する useReplyContainer
setRequiresReply
public void setRequiresReply(boolean requiresReply) クラスからコピーされた説明:AbstractReplyProducingMessageHandler
返信が必要かどうかのフラグ。true の場合、受信メッセージは応答メッセージの送信につながる必要があります。false の場合、受信メッセージにより、返信メッセージが送信される場合があります。デフォルトは false です。- オーバーライド:
- クラス
AbstractReplyProducingMessageHandler
のsetRequiresReply
- パラメーター:
requiresReply
- 返信が必要な場合は true。
setIdleReplyContainerTimeout
public void setIdleReplyContainerTimeout(long idleReplyContainerTimeout) アイドル状態のコンテナーのターゲットタイムアウトを秒単位で設定します。これをゼロより大きく設定すると、応答リスナーコンテナーの遅延開始が有効になります。メッセージが送信されると、コンテナーが起動します。少なくとも今回はアイドル状態になると停止します。今回の実際の停止時間は 1.5x までです。- パラメーター:
idleReplyContainerTimeout
- 秒単位のタイムアウト。- 導入:
- 4.2
setIdleReplyContainerTimeout
アイドル状態のコンテナーのターゲットタイムアウトを設定します。これをゼロより大きく設定すると、応答リスナーコンテナーの遅延開始が有効になります。メッセージが送信されると、コンテナーが起動します。少なくとも今回はアイドル状態になると停止します。今回の実際の停止時間は 1.5x までです。- パラメーター:
idleReplyContainerTimeout
- 秒単位のタイムアウト。unit
- 時間の単位。- 導入:
- 4.2
doInit
protected void doInit()- オーバーライド:
- クラス
AbstractReplyProducingMessageHandler
のdoInit
start
public void start()- 次で指定:
- インターフェース
Lifecycle
のstart
- 次で指定:
- インターフェース
ManageableLifecycle
のstart
stop
public void stop()- 次で指定:
- インターフェース
Lifecycle
のstop
- 次で指定:
- インターフェース
ManageableLifecycle
のstop
isRunning
public boolean isRunning()- 次で指定:
- インターフェース
Lifecycle
のisRunning
- 次で指定:
- インターフェース
ManageableLifecycle
のisRunning
handleRequestMessage
クラスからコピーされた説明:AbstractReplyProducingMessageHandler
サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。- 次で指定:
- クラス
AbstractReplyProducingMessageHandler
のhandleRequestMessage
- パラメーター:
requestMessage
- リクエストメッセージ。- 戻り値:
- メッセージを処理した結果、または
null
createConnection
この JMS ゲートウェイの新しい JMS 接続を作成します。- 戻り値:
- 接続。
- 例外:
JMSExceptionEE
- すべての JMSException。
createSession
提供された接続を使用して新しい JMS セッションを作成します。- パラメーター:
connection
- 接続。- 戻り値:
- セッション。
- 例外:
JMSExceptionEE
- すべての JMSException。
onMessage
- 次で指定:
- インターフェース
MessageListenerEE
のonMessageEE