public class GatewayProxyFactoryBean extends AbstractEndpoint implements TrackableComponent, org.springframework.beans.factory.FactoryBean<java.lang.Object>, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.BeanClassLoaderAware
ConversionService set on the enclosing BeanFactory
under the name
IntegrationUtils.INTEGRATION_CONVERSION_SERVICE_BEAN_NAME
to
perform type conversions when necessary (thanks to Jon Schneider's contribution and suggestion in INT-1230).lifecycleCondition, lifecycleLockEXPRESSION_PARSER, logger| Constructor and Description |
|---|
GatewayProxyFactoryBean()
Create a Factory whose service interface type can be configured by setter injection.
|
GatewayProxyFactoryBean(java.lang.Class<?> serviceInterface) |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Object |
doInvoke(org.aopalliance.intercept.MethodInvocation invocation,
boolean runningOnCallerThread) |
protected void |
doStart()
Subclasses must implement this method with the start behavior.
|
protected void |
doStop()
Subclasses must implement this method with the stop behavior.
|
protected org.springframework.core.task.AsyncTaskExecutor |
getAsyncExecutor() |
java.util.Map<java.lang.reflect.Method,MessagingGatewaySupport> |
getGateways()
Return the Map of
Method to MessagingGatewaySupport
generated by this factory bean. |
java.lang.Object |
getObject() |
java.lang.Class<?> |
getObjectType() |
java.lang.Object |
invoke(org.aopalliance.intercept.MethodInvocation invocation) |
boolean |
isSingleton() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setAsyncExecutor(java.util.concurrent.Executor executor)
Set the executor for use when the gateway method returns
Future or ListenableFuture. |
void |
setBeanClassLoader(java.lang.ClassLoader beanClassLoader) |
void |
setDefaultReplyChannel(org.springframework.messaging.MessageChannel defaultReplyChannel)
Set the default reply channel.
|
void |
setDefaultReplyChannelName(java.lang.String defaultReplyChannelName)
Set the default reply channel bean name.
|
void |
setDefaultReplyTimeout(java.lang.Long defaultReplyTimeout)
Set the default timeout value for receiving reply messages.
|
void |
setDefaultReplyTimeoutExpression(org.springframework.expression.Expression defaultReplyTimeout)
Set an expression to be evaluated to determine the default timeout value for
receiving reply messages.
|
void |
setDefaultReplyTimeoutExpressionString(java.lang.String defaultReplyTimeout)
Set an expression to be evaluated to determine the default timeout value for
receiving reply messages.
|
void |
setDefaultRequestChannel(org.springframework.messaging.MessageChannel defaultRequestChannel)
Set the default request channel.
|
void |
setDefaultRequestChannelName(java.lang.String defaultRequestChannelName)
Set the default request channel bean name.
|
void |
setDefaultRequestTimeout(java.lang.Long defaultRequestTimeout)
Set the default timeout value for sending request messages.
|
void |
setDefaultRequestTimeoutExpression(org.springframework.expression.Expression defaultRequestTimeout)
Set an expression to be evaluated to determine the default timeout value for
sending request messages.
|
void |
setDefaultRequestTimeoutExpressionString(java.lang.String defaultRequestTimeout)
Set an expression to be evaluated to determine the default timeout value for
sending request messages.
|
void |
setErrorChannel(org.springframework.messaging.MessageChannel errorChannel)
Set the error channel.
|
void |
setErrorChannelName(java.lang.String errorChannelName)
Set the error channel name.
|
void |
setGlobalMethodMetadata(GatewayMethodMetadata globalMethodMetadata) |
void |
setMapper(MethodArgsMessageMapper mapper)
|
void |
setMethodMetadataMap(java.util.Map<java.lang.String,GatewayMethodMetadata> methodMetadataMap) |
void |
setServiceInterface(java.lang.Class<?> serviceInterface)
Set the interface class that the generated proxy should implement.
|
void |
setShouldTrack(boolean shouldTrack) |
void |
setTypeConverter(org.springframework.beans.TypeConverter typeConverter) |
destroy, doStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, setTaskScheduler, start, stop, stopafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getComponentType, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetComponentName, getComponentTypepublic GatewayProxyFactoryBean()
RequestReplyExchanger, upon initialization.public GatewayProxyFactoryBean(java.lang.Class<?> serviceInterface)
public void setServiceInterface(java.lang.Class<?> serviceInterface)
RequestReplyExchanger.serviceInterface - The service interface.public void setDefaultRequestChannel(org.springframework.messaging.MessageChannel defaultRequestChannel)
defaultRequestChannel - the channel to which request messages will
be sent if no request channel has been configured with an annotation.public void setDefaultRequestChannelName(java.lang.String defaultRequestChannelName)
defaultRequestChannelName - the channel name to which request messages will
be sent if no request channel has been configured with an annotation.public void setDefaultReplyChannel(org.springframework.messaging.MessageChannel defaultReplyChannel)
defaultReplyChannel - the channel from which reply messages will be
received if no reply channel has been configured with an annotationpublic void setDefaultReplyChannelName(java.lang.String defaultReplyChannelName)
defaultReplyChannelName - the channel name from which reply messages will be
received if no reply channel has been configured with an annotationpublic void setErrorChannel(org.springframework.messaging.MessageChannel errorChannel)
errorChannel - The error channel.public void setErrorChannelName(java.lang.String errorChannelName)
errorChannelName - The error channel bean name.public void setDefaultRequestTimeout(java.lang.Long defaultRequestTimeout)
defaultRequestTimeout - the timeout value in millisecondspublic void setDefaultRequestTimeoutExpression(org.springframework.expression.Expression defaultRequestTimeout)
defaultRequestTimeout - the timeout value in millisecondspublic void setDefaultRequestTimeoutExpressionString(java.lang.String defaultRequestTimeout)
defaultRequestTimeout - the timeout value in millisecondspublic void setDefaultReplyTimeout(java.lang.Long defaultReplyTimeout)
defaultReplyTimeout - the timeout value in millisecondspublic void setDefaultReplyTimeoutExpression(org.springframework.expression.Expression defaultReplyTimeout)
defaultReplyTimeout - the timeout value in millisecondspublic void setDefaultReplyTimeoutExpressionString(java.lang.String defaultReplyTimeout)
defaultReplyTimeout - the timeout value in millisecondspublic void setShouldTrack(boolean shouldTrack)
setShouldTrack in interface TrackableComponentpublic void setAsyncExecutor(@Nullable
java.util.concurrent.Executor executor)
Future or ListenableFuture.
Set it to null to disable the async processing, and any
Future return types must be returned by the downstream flow.executor - The executor.public void setTypeConverter(org.springframework.beans.TypeConverter typeConverter)
public void setMethodMetadataMap(java.util.Map<java.lang.String,GatewayMethodMetadata> methodMetadataMap)
public void setGlobalMethodMetadata(GatewayMethodMetadata globalMethodMetadata)
public void setBeanClassLoader(java.lang.ClassLoader beanClassLoader)
setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAwarepublic final void setMapper(MethodArgsMessageMapper mapper)
mapper - the mapper.protected org.springframework.core.task.AsyncTaskExecutor getAsyncExecutor()
public java.util.Map<java.lang.reflect.Method,MessagingGatewaySupport> getGateways()
Method to MessagingGatewaySupport
generated by this factory bean.protected void onInit()
IntegrationObjectSupportonInit in class AbstractEndpointpublic java.lang.Class<?> getObjectType()
getObjectType in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>public java.lang.Object getObject()
throws java.lang.Exception
getObject in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>java.lang.Exceptionpublic boolean isSingleton()
isSingleton in interface org.springframework.beans.factory.FactoryBean<java.lang.Object>@Nullable
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation invocation)
throws java.lang.Throwable
invoke in interface org.aopalliance.intercept.MethodInterceptorjava.lang.Throwable@Nullable
protected java.lang.Object doInvoke(org.aopalliance.intercept.MethodInvocation invocation,
boolean runningOnCallerThread)
throws java.lang.Throwable
java.lang.Throwableprotected void doStart()
AbstractEndpointAbstractEndpoint.lifecycleLock.doStart in class AbstractEndpointprotected void doStop()
AbstractEndpointAbstractEndpoint.lifecycleLock.doStop in class AbstractEndpoint