クラス 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、ComponentSourceAware、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 SessionEEcreateSession(ConnectionEE connection) 提供された接続を使用して新しい JMS セッションを作成します。protected voiddoInit()サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected ObjectSEhandleRequestMessage(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。booleanvoidvoidsetConnectionFactory(ConnectionFactoryEE connectionFactory) このゲートウェイが使用する JMS ConnectionFactory を設定します。voidsetCorrelationKey(StringSE correlationKey) JMS メッセージの受信者が CorrelationID を表すと期待する生成された UUID を保持する必要がある JMS プロパティの名前を指定します。voidsetDefaultPriority(int priority) IntegrationMessageHeaderAccessor.PRIORITYヘッダーのないリクエストメッセージを送信するときに使用するデフォルトの JMS 優先度を指定します。voidsetDeliveryPersistent(boolean deliveryPersistent) ブール値( "true" または "false" )として指定して、メッセージ配信を永続的にするか非永続的にするかを設定します。voidsetDestinationResolver(DestinationResolver destinationResolver) "requestDestinationName" または "replyDestinationName" 値を解決するときに使用するDestinationResolverを指定します。voidsetExplicitQosEnabled(boolean explicitQosEnabled) 明示的な QoS 設定 (deliveryMode、優先度、timeToLive) を有効にするかどうかを指定します。voidsetExtractReplyPayload(boolean extractReplyPayload) このプロパティは、JMS 応答メッセージの処理方法を説明します。voidsetExtractRequestPayload(boolean extractRequestPayload) このプロパティは、Spring Integration メッセージから JMS メッセージを生成する方法を説明します。voidsetHeaderMapper(JmsHeaderMapper headerMapper) Spring Integration メッセージヘッダーを JMS メッセージプロパティとの間でマッピングするためのJmsHeaderMapper実装を提供します。voidsetIdleReplyContainerTimeout(long idleReplyContainerTimeout) アイドル状態のコンテナーのターゲットタイムアウトを秒単位で設定します。voidsetIdleReplyContainerTimeout(long idleReplyContainerTimeout, TimeUnitSE unit) アイドル状態のコンテナーのターゲットタイムアウトを設定します。voidsetMessageConverter(MessageConverter messageConverter) Spring Integration リクエストメッセージを JMS メッセージに変換し、JMS 応答メッセージを Spring Integration メッセージに戻すために使用するMessageConverter戦略を提供します。voidsetReceiveTimeout(long receiveTimeout) 応答を待つときの MessageConsumer の受信呼び出しの最大タイムアウト値を設定します。voidsetReplyChannel(MessageChannel replyChannel) Spring Integration 応答チャネルを指定します。voidsetReplyContainerProperties(JmsOutboundGateway.ReplyContainerProperties replyContainerProperties) voidsetReplyDestination(DestinationEE replyDestination) 応答メッセージを受信する JMS 宛先を設定します。voidsetReplyDestinationExpression(Expression replyDestinationExpression) 応答宛先インスタンスまたは応答宛先名を決定するために使用される SpEL 式を設定します。voidsetReplyDestinationName(StringSE replyDestinationName) 応答メッセージを受信する JMS 宛先の名前を設定します。voidsetReplyPubSubDomain(boolean replyPubSubDomain) 返信先がトピックかどうかを指定します。voidsetRequestDestination(DestinationEE requestDestination) リクエストメッセージの送信先となる JMS 宛先を設定します。voidsetRequestDestinationExpression(Expression requestDestinationExpression) リクエストの宛先インスタンスまたはリクエストの宛先名を決定するために使用される SpEL 式を設定します。voidsetRequestDestinationName(StringSE requestDestinationName) リクエストメッセージの送信先となる JMS 宛先の名前を設定します。voidsetRequestPubSubDomain(boolean requestPubSubDomain) リクエスト先がトピックかどうかを指定します。voidsetRequiresReply(boolean requiresReply) 返信が必要かどうかのフラグ。voidsetTimeToLive(long timeToLive) 送信された各メッセージの timeToLive を指定します。voidsetUseReplyContainer(boolean useReplyContainer) voidstart()voidstop()クラス 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, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, 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 宛先を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとにTemporaryQueueEE を作成します。- パラメーター:
replyDestination- 返信先。
setReplyDestinationName
応答メッセージを受信する JMS 宛先の名前を設定します。何も指定されていない場合、このゲートウェイは呼び出しごとにTemporaryQueueEE を作成します。- パラメーター:
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、優先度、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