クラス 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
、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 から継承されたフィールド
lifecycleCondition, 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) メソッドのサマリー
修飾子と型メソッド説明void
destroy()
protected ObjectSE
doInvoke
(MethodInvocation invocation, boolean runningOnCallerThread) protected void
doStart()
サブクラスは、開始動作でこのメソッドを実装する必要があります。protected void
doStop()
サブクラスは、停止動作でこのメソッドを実装する必要があります。protected AsyncTaskExecutor
protected MessageChannel
protected StringSE
protected Expression
protected MessageChannel
protected StringSE
protected Expression
protected MessageChannel
protected StringSE
このファクトリ Bean によって生成されたMethod
SE のマップをMessagingGatewaySupport
に戻します。protected GatewayMethodMetadata
protected MethodArgsMessageMapper
ClassSE<?>
invoke
(MethodInvocation invocation) protected boolean
protected void
onInit()
サブクラスは、初期化ロジック用にこれを実装できます。void
registerMetricsCaptor
(MetricsCaptor metricsCaptorToRegister) MetricsCaptor
を注入します。void
setAsyncExecutor
(ExecutorSE executor) ゲートウェイメソッドがFuture
SE またはListenableFuture
を返すときに使用する executor を設定します。void
setBeanClassLoader
(ClassLoaderSE beanClassLoader) void
setDefaultReplyChannel
(MessageChannel defaultReplyChannel) デフォルトの応答チャネルを設定します。void
setDefaultReplyChannelName
(StringSE defaultReplyChannelName) デフォルトの応答チャネル Bean 名を設定します。void
setDefaultReplyTimeout
(LongSE defaultReplyTimeout) 応答メッセージを受信するためのデフォルトのタイムアウト値を設定します。void
setDefaultReplyTimeoutExpression
(Expression defaultReplyTimeout) 評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。void
setDefaultReplyTimeoutExpressionString
(StringSE defaultReplyTimeout) 評価する式を設定して、応答メッセージを受信するためのデフォルトのタイムアウト値を決定します。void
setDefaultRequestChannel
(MessageChannel defaultRequestChannel) デフォルトのリクエストチャネルを設定します。void
setDefaultRequestChannelName
(StringSE defaultRequestChannelName) デフォルトのリクエストチャネル Bean 名を設定します。void
setDefaultRequestTimeout
(LongSE defaultRequestTimeout) リクエストメッセージを送信するためのデフォルトのタイムアウト値を設定します。void
setDefaultRequestTimeoutExpression
(Expression defaultRequestTimeout) 評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。void
setDefaultRequestTimeoutExpressionString
(StringSE defaultRequestTimeout) 評価する式を設定して、リクエストメッセージを送信するためのデフォルトのタイムアウト値を決定します。void
setErrorChannel
(MessageChannel errorChannel) エラーチャンネルを設定します。void
setErrorChannelName
(StringSE errorChannelName) エラーチャネル名を設定します。void
setErrorOnTimeout
(boolean errorOnTimeout) errorOnTimeout が true の場合、タイムアウトが発生しても、ゲートウェイメソッド呼び出しの結果として null は返されません。void
setGlobalMethodMetadata
(GatewayMethodMetadata globalMethodMetadata) final void
setMapper
(MethodArgsMessageMapper mapper) void
setMethodMetadataMap
(MapSE<StringSE, GatewayMethodMetadata> methodMetadataMap) void
setProxyDefaultMethods
(boolean proxyDefaultMethods) インターフェースのdefault
メソッドもプロキシする必要があるかどうかを示します。void
setShouldTrack
(boolean shouldTrack) void
setTypeConverter
(TypeConverter typeConverter) クラス 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, getComponentName, getComponentType, 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
インターフェース 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, getComponentType
コンストラクターの詳細
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
ゲートウェイメソッドがFuture
SE またはListenableFuture
を返すときに使用する executor を設定します。これを null に設定して非同期処理を無効にします。Future
SE 戻り値の型はすべてダウンストリームフローによって返される必要があります。- パラメーター:
executor
- エグゼキューター。
setTypeConverter
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 によって生成されたMethod
SE のマップをMessagingGatewaySupport
に戻します。- 戻り値:
- 地図。
- 導入:
- 4.3
registerMetricsCaptor
インターフェースからコピーされた説明:IntegrationManagement
MetricsCaptor
を注入します。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
@Nullable protected 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