public class GatewayProxyFactoryBean extends AbstractEndpoint implements TrackableComponent, FactoryBean<ObjectSE>, MethodInterceptor, BeanClassLoaderAware, IntegrationManagement
IntegrationUtils.INTEGRATION_CONVERSION_SERVICE_BEAN_NAME という名前で外側の BeanFactory に設定された ConversionService も認識しています(INT-1230 での Jon Schneider の貢献と提案のおかげです)。IntegrationManagement.ManagementOverrideslifecycleCondition, lifecycleLockEXPRESSION_PARSER, loggerOBJECT_TYPE_ATTRIBUTEMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEDEFAULT_PHASE| コンストラクターと説明 |
|---|
GatewayProxyFactoryBean()setter インジェクションによってサービスインターフェース型を構成できるファクトリを作成します。 |
GatewayProxyFactoryBean(ClassSE<?> serviceInterface) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | destroy() |
protected ObjectSE | doInvoke(MethodInvocation invocation, boolean runningOnCallerThread) |
protected void | doStart() サブクラスは、開始動作でこのメソッドを実装する必要があります。 |
protected void | doStop() サブクラスは、停止動作でこのメソッドを実装する必要があります。 |
protected AsyncTaskExecutor | getAsyncExecutor() |
protected MessageChannel | getDefaultReplyChannel() |
protected StringSE | getDefaultReplyChannelName() |
protected Expression | getDefaultReplyTimeout() |
protected MessageChannel | getDefaultRequestChannel() |
protected StringSE | getDefaultRequestChannelName() |
protected Expression | getDefaultRequestTimeout() |
protected MessageChannel | getErrorChannel() |
protected StringSE | getErrorChannelName() |
MapSE<MethodSE, MessagingGatewaySupport> | getGateways() このファクトリ Bean によって生成された MethodSE のマップを MessagingGatewaySupport に戻します。 |
protected GatewayMethodMetadata | getGlobalMethodMetadata() |
protected MethodArgsMessageMapper | getMapper() |
ObjectSE | getObject() |
ClassSE<?> | getObjectType() |
ObjectSE | invoke(MethodInvocation invocation) |
protected boolean | isAsyncExecutorExplicitlySet() |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | registerMetricsCaptor(MetricsCaptor metricsCaptorToRegister)MetricsCaptor を注入する |
void | setAsyncExecutor(ExecutorSE executor) ゲートウェイメソッドが FutureSE または 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 | setGlobalMethodMetadata(GatewayMethodMetadata globalMethodMetadata) |
void | setMapper(MethodArgsMessageMapper mapper) |
void | setMethodMetadataMap(MapSE<StringSE, GatewayMethodMetadata> methodMetadataMap) |
void | setProxyDefaultMethods(boolean proxyDefaultMethods) インターフェースの default メソッドもプロキシする必要があるかどうかを示します。 |
void | setShouldTrack(boolean shouldTrack) |
void | setTypeConverter(TypeConverter typeConverter) |
doStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getComponentType, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEisSingletongetManagedName, getManagedType, getOverrides, getThisAs, isLoggingEnabled, setLoggingEnabled, setManagedName, setManagedTypegetBeanName, getComponentName, getComponentTypepublic GatewayProxyFactoryBean()
RequestReplyExchanger にフォールバックします。public GatewayProxyFactoryBean(ClassSE<?> serviceInterface)
public void setDefaultRequestChannel(MessageChannel defaultRequestChannel)
defaultRequestChannel - アノテーションを使用してリクエストチャネルが構成されていない場合にリクエストメッセージが送信されるチャネル。public void setDefaultRequestChannelName(StringSE defaultRequestChannelName)
defaultRequestChannelName - リクエストチャネルがアノテーションで構成されていない場合にリクエストメッセージが送信されるチャネル名。@Nullable protected MessageChannel getDefaultRequestChannel()
public void setDefaultReplyChannel(MessageChannel defaultReplyChannel)
defaultReplyChannel - アノテーション付きの応答チャネルが構成されていない場合に応答メッセージを受信するチャネル public void setDefaultReplyChannelName(StringSE defaultReplyChannelName)
defaultReplyChannelName - アノテーション付きの応答チャネルが構成されていない場合に応答メッセージを受信するチャネル名 @Nullable protected MessageChannel getDefaultReplyChannel()
public void setErrorChannel(MessageChannel errorChannel)
errorChannel - エラーチャネル。public void setErrorChannelName(StringSE errorChannelName)
errorChannelName - エラーチャネル Bean 名。@Nullable protected MessageChannel getErrorChannel()
public void setDefaultRequestTimeout(LongSE defaultRequestTimeout)
defaultRequestTimeout - ミリ秒単位のタイムアウト値 public void setDefaultRequestTimeoutExpression(Expression defaultRequestTimeout)
defaultRequestTimeout - ミリ秒単位のタイムアウト値 public void setDefaultRequestTimeoutExpressionString(StringSE defaultRequestTimeout)
defaultRequestTimeout - ミリ秒単位のタイムアウト値 @Nullable protected Expression getDefaultRequestTimeout()
public void setDefaultReplyTimeout(LongSE defaultReplyTimeout)
defaultReplyTimeout - ミリ秒単位のタイムアウト値 public void setDefaultReplyTimeoutExpression(Expression defaultReplyTimeout)
defaultReplyTimeout - ミリ秒単位のタイムアウト値 public void setDefaultReplyTimeoutExpressionString(StringSE defaultReplyTimeout)
defaultReplyTimeout - ミリ秒単位のタイムアウト値 @Nullable protected Expression getDefaultReplyTimeout()
public void setShouldTrack(boolean shouldTrack)
TrackableComponent の setShouldTrack public void setAsyncExecutor(@Nullable ExecutorSE executor)
FutureSE または ListenableFuture を返すときに使用する executor を設定します。これを null に設定して非同期処理を無効にします。FutureSE 戻り値の型はすべてダウンストリームフローによって返される必要があります。executor - エグゼキューター。public void setTypeConverter(TypeConverter typeConverter)
public void setMethodMetadataMap(MapSE<StringSE,GatewayMethodMetadata> methodMetadataMap)
public void setGlobalMethodMetadata(GatewayMethodMetadata globalMethodMetadata)
@Nullable protected GatewayMethodMetadata getGlobalMethodMetadata()
public void setBeanClassLoader(ClassLoaderSE beanClassLoader)
BeanClassLoaderAware の setBeanClassLoader public final void setMapper(MethodArgsMessageMapper mapper)
mapper - マッパー。@Nullable protected MethodArgsMessageMapper getMapper()
public void setProxyDefaultMethods(boolean proxyDefaultMethods)
default メソッドもプロキシする必要があるかどうかを示します。明示的な Gateway アノテーションがメソッドに存在する場合、このオプションとは無関係にプロキシされます。注: JDK クラスのデフォルトメソッド(Function など)はプロキシできますが、MethodHandle.Lookup の内部 Java セキュリティ制限によって MethodHandle を介して呼び出すことはできません。proxyDefaultMethods - デフォルトのメソッドをプロキシする、または MethodHandle を介して呼び出すブールフラグ。@Nullable protected AsyncTaskExecutor getAsyncExecutor()
protected boolean isAsyncExecutorExplicitlySet()
public MapSE<MethodSE,MessagingGatewaySupport> getGateways()
MethodSE のマップを MessagingGatewaySupport に戻します。public void registerMetricsCaptor(MetricsCaptor metricsCaptorToRegister)
IntegrationManagementMetricsCaptor を注入する IntegrationManagement の registerMetricsCaptor metricsCaptorToRegister - キャプター。protected void onInit()
IntegrationObjectSupportAbstractEndpoint の onInit public ClassSE<?> getObjectType()
FactoryBean<ObjectSE> の getObjectType public ObjectSE getObject()
FactoryBean<ObjectSE> の getObject @Nullable public ObjectSE invoke(MethodInvocation invocation) throws ThrowableSE
MethodInterceptor の invoke ThrowableSE@Nullable protected ObjectSE doInvoke(MethodInvocation invocation, boolean runningOnCallerThread) throws ThrowableSE
ThrowableSEprotected void doStart()
AbstractEndpointAbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。AbstractEndpoint の doStart protected void doStop()
AbstractEndpointAbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。AbstractEndpoint の doStop public void destroy()
DisposableBean の destroy IntegrationManagement の destroy AbstractEndpoint の destroy