クラス GatewayProxyFactoryBean<T>
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.gateway.GatewayProxyFactoryBean<T>
- 型パラメーター:
T- プロキシを構築する対象のゲートウェイインターフェース。
- 実装済みのインターフェース一覧:
Advice、Interceptor、MethodInterceptor、Aware、BeanClassLoaderAware、BeanFactoryAware、BeanNameAware、DisposableBean、FactoryBean<T>、InitializingBean、ApplicationContextAware、Lifecycle、Phased、SmartLifecycle、ComponentSourceAware、ExpressionCapable、NamedComponent、IntegrationManagement、ManageableLifecycle、ManageableSmartLifecycle、TrackableComponent
- 既知の直属サブクラス
AnnotationGatewayProxyFactoryBean
public class GatewayProxyFactoryBean<T>
extends AbstractEndpoint
implements TrackableComponent, FactoryBean<T>, MethodInterceptor, BeanClassLoaderAware, IntegrationManagement
提供されたサービスインターフェースのプロキシを生成し、アプリケーションコードが認識せずにメッセージングコンポーネントとの対話を可能にして、POJO スタイルの対話を可能にします。このコンポーネントは、必要に応じて型変換を実行するために、
IntegrationUtils.INTEGRATION_CONVERSION_SERVICE_BEAN_NAME という名前で外側の BeanFactory に設定された ConversionService も認識しています(INT-1230 での Jon Schneider の貢献と提案のおかげです)。- 作成者:
- Mark Fisher, Oleg Zhurakousky, Gary Russell, Artem Bilan, JingPeng Xie, Christian Tzolov
ネストされたクラスの概要
インターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールド概要
クラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたフィールド
lifecycleLockクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース org.springframework.beans.factory.FactoryBean から継承されたフィールド
OBJECT_TYPE_ATTRIBUTEインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクター概要
コンストラクターコンストラクター説明setter インジェクションによってサービスインターフェース型を構成できるファクトリを作成します。GatewayProxyFactoryBean(ClassSE<T> serviceInterface) 方法の概要
修飾子と型メソッド説明voiddestroy()protected @Nullable ObjectSEdoInvoke(MethodInvocation invocation, boolean runningOnCallerThread) protected voiddoStart()サブクラスは、開始動作でこのメソッドを実装する必要があります。protected voiddoStop()サブクラスは、停止動作でこのメソッドを実装する必要があります。protected @Nullable AsyncTaskExecutorprotected @Nullable MessageChannelprotected @Nullable StringSEprotected @Nullable Expressionprotected @Nullable MessageChannelprotected @Nullable StringSEprotected @Nullable Expressionprotected @Nullable MessageChannelprotected @Nullable StringSEこのファクトリ Bean によって生成されたMethodSE のマップをMessagingGatewaySupportに戻します。protected @Nullable GatewayMethodMetadataprotected @Nullable MethodArgsMessageMapperClassSE<?> @Nullable ObjectSEinvoke(MethodInvocation invocation) protected booleanprotected voidonInit()サブクラスは、初期化ロジック用にこれを実装できます。voidregisterMetricsCaptor(MetricsCaptor metricsCaptorToRegister) MetricsCaptorを注入します。voidsetAsyncExecutor(@Nullable ExecutorSE executor) ゲートウェイメソッドがFutureSE またはCompletableFutureSE を返すときに使用する executor を設定します。voidsetBeanClassLoader(ClassLoaderSE beanClassLoader) voidsetDefaultReplyChannel(MessageChannel defaultReplyChannel) デフォルトの応答チャネルを設定します。voidsetDefaultReplyChannelName(StringSE defaultReplyChannelName) デフォルトの応答チャネル Bean 名を設定します。voidsetDefaultReplyTimeout(LongSE defaultReplyTimeout) 応答メッセージを受信するためのデフォルトのタイムアウト値を設定します。voidsetDefaultReplyTimeoutExpression(Expression defaultReplyTimeout) 評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。voidsetDefaultReplyTimeoutExpressionString(StringSE defaultReplyTimeout) 評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。voidsetDefaultRequestChannel(MessageChannel defaultRequestChannel) デフォルトのリクエストチャネルを設定します。voidsetDefaultRequestChannelName(StringSE defaultRequestChannelName) デフォルトのリクエストチャネル Bean 名を設定します。voidsetDefaultRequestTimeout(LongSE defaultRequestTimeout) リクエストメッセージを送信するためのデフォルトのタイムアウト値を設定します。voidsetDefaultRequestTimeoutExpression(Expression defaultRequestTimeout) 評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。voidsetDefaultRequestTimeoutExpressionString(StringSE defaultRequestTimeout) 評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。voidsetErrorChannel(MessageChannel errorChannel) エラーチャンネルを設定します。voidsetErrorChannelName(StringSE errorChannelName) エラーチャネル名を設定します。voidsetErrorOnTimeout(boolean errorOnTimeout) errorOnTimeout が true の場合、タイムアウトが発生したときにゲートウェイメソッド呼び出しの結果として null は返されません。voidsetGlobalMethodMetadata(GatewayMethodMetadata globalMethodMetadata) final voidsetMapper(MethodArgsMessageMapper mapper) voidsetMethodMetadataMap(MapSE<StringSE, GatewayMethodMetadata> methodMetadataMap) voidsetProxyDefaultMethods(boolean proxyDefaultMethods) インターフェースのdefaultメソッドもプロキシする必要があるかどうかを示します。voidsetShouldTrack(boolean shouldTrack) voidsetTypeConverter(TypeConverter typeConverter) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。クラス org.springframework.integration.endpoint.AbstractEndpoint から継承されたメソッド
doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopクラス 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インターフェース org.springframework.beans.factory.FactoryBean から継承されたメソッド
isSingletonインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, isObserved, registerObservationRegistry, setLoggingEnabled, setManagedName, setManagedTypeインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentNameインターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isPauseable
コンストラクターの詳細
GatewayProxyFactoryBean
public GatewayProxyFactoryBean()setter インジェクションによってサービスインターフェース型を構成できるファクトリを作成します。何も設定されていない場合、初期化時にデフォルトのサービスインターフェース型RequestReplyExchangerにフォールバックします。GatewayProxyFactoryBean
メソッドの詳細
setDefaultRequestChannel
デフォルトのリクエストチャネルを設定します。- パラメーター:
defaultRequestChannel- アノテーションを使用してリクエストチャネルが構成されていない場合にリクエストメッセージが送信されるチャネル。
setDefaultRequestChannelName
デフォルトのリクエストチャネル Bean 名を設定します。- パラメーター:
defaultRequestChannelName- リクエストチャネルがアノテーションで構成されていない場合にリクエストメッセージが送信されるチャネル名。- 導入:
- 4.2.9
getDefaultRequestChannel
getDefaultRequestChannelName
setDefaultReplyChannel
デフォルトの応答チャネルを設定します。デフォルトの応答チャネルが提供されておらず、アノテーションで応答チャネルが構成されていない場合、匿名の一時チャネルが応答の処理に使用されます。- パラメーター:
defaultReplyChannel- アノテーション付きの応答チャネルが構成されていない場合に応答メッセージを受信するチャネル
setDefaultReplyChannelName
デフォルトの応答チャネル Bean 名を設定します。デフォルトの応答チャネルが提供されておらず、アノテーションで応答チャネルが構成されていない場合、匿名の一時チャネルが応答の処理に使用されます。- パラメーター:
defaultReplyChannelName- アノテーション付きの応答チャネルが構成されていない場合に応答メッセージを受信するチャネル名- 導入:
- 4.2.9
getDefaultReplyChannel
getDefaultReplyChannelName
setErrorChannel
エラーチャネルを設定します。エラーチャネルが指定されていない場合、このゲートウェイは呼び出し元に例外を伝播します。例外を完全に抑制するには、ここで "nullChannel" への参照を指定します。- パラメーター:
errorChannel- エラーチャネル。
setErrorChannelName
エラーチャネル名を設定します。エラーチャネルが指定されていない場合、このゲートウェイは呼び出し元に例外を伝播します。例外を完全に抑制するには、ここで "nullChannel" への参照を指定します。- パラメーター:
errorChannelName- エラーチャネル Bean 名。- 導入:
- 4.2.9
getErrorChannel
getErrorChannelName
setDefaultRequestTimeout
リクエストメッセージを送信するためのデフォルトのタイムアウト値を設定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultRequestTimeout- ミリ秒単位のタイムアウト値
setDefaultRequestTimeoutExpression
評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultRequestTimeout- ミリ秒単位のタイムアウト値- 導入:
- 5.0
setDefaultRequestTimeoutExpressionString
評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultRequestTimeout- ミリ秒単位のタイムアウト値- 導入:
- 5.0
getDefaultRequestTimeout
setDefaultReplyTimeout
応答メッセージを受信するためのデフォルトのタイムアウト値を設定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultReplyTimeout- ミリ秒単位のタイムアウト値
setDefaultReplyTimeoutExpression
評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultReplyTimeout- ミリ秒単位のタイムアウト値- 導入:
- 5.0
setDefaultReplyTimeoutExpressionString
評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。アノテーションまたはメソッド要素で明示的に構成されていない場合、この値が使用されます。- パラメーター:
defaultReplyTimeout- ミリ秒単位のタイムアウト値- 導入:
- 5.0
getDefaultReplyTimeout
setShouldTrack
public void setShouldTrack(boolean shouldTrack) - 次で指定:
- インターフェース
TrackableComponentのsetShouldTrack
setAsyncExecutor
ゲートウェイメソッドがFutureSE またはCompletableFutureSE を返すときに使用する executor を設定します。これを null に設定して非同期処理を無効にします。FutureSE 戻り値の型はすべてダウンストリームフローによって返される必要があります。- パラメーター:
executor- エグゼキューター。
setTypeConverter
@DeprecatedSE(since="7.0", forRemoval=true) public void setTypeConverter(TypeConverter typeConverter) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。アプリケーションコンテキストからは 7.0 がConversionServiceよりも優先されます。TypeConverterを設定してください。- パラメーター:
typeConverter-TypeConverter
setMethodMetadataMap
setGlobalMethodMetadata
getGlobalMethodMetadata
setBeanClassLoader
- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader
setMapper
- パラメーター:
mapper- マッパー。
getMapper
setProxyDefaultMethods
public void setProxyDefaultMethods(boolean proxyDefaultMethods) インターフェースのdefaultメソッドもプロキシする必要があるかどうかを示します。明示的なGatewayアノテーションがメソッドに存在する場合、このオプションとは無関係にプロキシされます。注: JDK クラスのデフォルトメソッド(Functionなど)はプロキシできますが、MethodHandle.Lookupの内部 Java セキュリティ制限によってMethodHandleを介して呼び出すことはできません。- パラメーター:
proxyDefaultMethods- デフォルトのメソッドをプロキシする、またはMethodHandleを介して呼び出すブールフラグ。- 導入:
- 5.3
getAsyncExecutor
isAsyncExecutorExplicitlySet
protected boolean isAsyncExecutorExplicitlySet()getGateways
このファクトリ Bean によって生成されたMethodSE のマップをMessagingGatewaySupportに戻します。- 戻り値:
- 地図。
- 導入:
- 4.3
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagementMetricsCaptorを注入します。ObservationRegistryが指定されている場合は無視されます。- 次で指定:
- インターフェース
IntegrationManagementのregisterMetricsCaptor - パラメーター:
metricsCaptorToRegister- キャプター。- 関連事項:
setErrorOnTimeout
public void setErrorOnTimeout(boolean errorOnTimeout) errorOnTimeout が true の場合、タイムアウトが発生したときにゲートウェイメソッド呼び出しの結果として null は返されません。代わりに、MessageTimeoutExceptionがスローされるか、エラーメッセージがエラーチャネルにパブリッシュされます。- パラメーター:
errorOnTimeout- true の場合、応答タイムアウト時にエラーメッセージを作成します。- 導入:
- 6.2
- 関連事項:
onInit
protected void onInit()クラスからコピーされた説明:IntegrationObjectSupportサブクラスは、初期化ロジック用にこれを実装できます。- オーバーライド:
- クラス
AbstractEndpointのonInit
getObjectType
- 次で指定:
- インターフェース
FactoryBean<T>のgetObjectType
getObject
- 次で指定:
- インターフェース
FactoryBean<T>のgetObject
invoke
- 次で指定:
- インターフェース
MethodInterceptorのinvoke - 例外:
ThrowableSE
doInvoke
protected @Nullable ObjectSE doInvoke(MethodInvocation invocation, boolean runningOnCallerThread) throws ThrowableSE - 例外:
ThrowableSE
doStart
protected void doStart()クラスからコピーされた説明:AbstractEndpointサブクラスは、開始動作でこのメソッドを実装する必要があります。このメソッドは、AbstractEndpoint.lifecycleLockを保持しているときに呼び出されます。- 次で指定:
- クラス
AbstractEndpointのdoStart
doStop
protected void doStop()クラスからコピーされた説明:AbstractEndpointサブクラスは、停止動作でこのメソッドを実装する必要があります。このメソッドは、AbstractEndpoint.lifecycleLockを保持しているときに呼び出されます。- 次で指定:
- クラス
AbstractEndpointのdoStop
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBeanのdestroy - 次で指定:
- インターフェース
IntegrationManagementのdestroy - オーバーライド:
- クラス
AbstractEndpointのdestroy
getComponentType
- 次で指定:
- インターフェース
NamedComponentのgetComponentType
ConversionServiceよりも優先されます。