Class FilterFactoryBean
java.lang.Object
org.springframework.integration.config.AbstractSimpleMessageHandlerFactoryBean<org.springframework.messaging.MessageHandler>
org.springframework.integration.config.AbstractStandardMessageHandlerFactoryBean
org.springframework.integration.config.FilterFactoryBean
- All Implemented Interfaces:
org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanFactoryAware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.FactoryBean<org.springframework.messaging.MessageHandler>
,org.springframework.context.ApplicationContextAware
,org.springframework.context.ApplicationEventPublisherAware
public class FilterFactoryBean extends AbstractStandardMessageHandlerFactoryBean
Factory bean for creating a Message Filter.
- Since:
- 2.0
-
Field Summary
Fields inherited from class org.springframework.integration.config.AbstractSimpleMessageHandlerFactoryBean
logger
-
Constructor Summary
Constructors Constructor Description FilterFactoryBean()
-
Method Summary
Modifier and Type Method Description protected boolean
canBeUsedDirect(AbstractMessageProducingHandler handler)
MessageFilter is an ARPMH.protected void
checkForIllegalTarget(java.lang.Object targetObject, java.lang.String targetMethodName)
protected org.springframework.messaging.MessageHandler
createExpressionEvaluatingHandler(org.springframework.expression.Expression expression)
protected MessageFilter
createFilter(MessageSelector selector)
protected org.springframework.messaging.MessageHandler
createMethodInvokingHandler(java.lang.Object targetObject, java.lang.String targetMethodName)
Subclasses must implement this method to create the MessageHandler.protected java.lang.Class<? extends org.springframework.messaging.MessageHandler>
getPreCreationHandlerType()
Subclasses can override this to return a more specific type before handler creation.protected void
postProcessFilter(MessageFilter filter)
protected void
postProcessReplyProducer(AbstractMessageProducingHandler handler)
void
setDiscardChannel(org.springframework.messaging.MessageChannel discardChannel)
void
setDiscardWithinAdvice(boolean discardWithinAdvice)
void
setThrowExceptionOnRejection(java.lang.Boolean throwExceptionOnRejection)
Methods inherited from class org.springframework.integration.config.AbstractStandardMessageHandlerFactoryBean
createDefaultHandler, createHandler, createMessageProcessingHandler, destroy, getSendTimeout, methodIsHandleMessageOrEmpty, setExpression, setExpressionString, setRequiresReply, setSendTimeout, setTargetMethodName, setTargetObject
Methods inherited from class org.springframework.integration.config.AbstractSimpleMessageHandlerFactoryBean
createHandlerInternal, getBeanFactory, getObject, getObjectType, isSingleton, setAdviceChain, setApplicationContext, setApplicationEventPublisher, setAsync, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setOrder, setOutputChannel, setOutputChannelName
-
Constructor Details
-
FilterFactoryBean
public FilterFactoryBean()
-
-
Method Details
-
setDiscardChannel
public void setDiscardChannel(org.springframework.messaging.MessageChannel discardChannel) -
setThrowExceptionOnRejection
public void setThrowExceptionOnRejection(java.lang.Boolean throwExceptionOnRejection) -
setDiscardWithinAdvice
public void setDiscardWithinAdvice(boolean discardWithinAdvice) -
createMethodInvokingHandler
protected org.springframework.messaging.MessageHandler createMethodInvokingHandler(java.lang.Object targetObject, java.lang.String targetMethodName)Description copied from class:AbstractStandardMessageHandlerFactoryBean
Subclasses must implement this method to create the MessageHandler.- Specified by:
createMethodInvokingHandler
in classAbstractStandardMessageHandlerFactoryBean
- Parameters:
targetObject
- the object to use for method invocation.targetMethodName
- the method name of the target object to invoke.- Returns:
- the method invoking
MessageHandler
implementation.
-
checkForIllegalTarget
protected void checkForIllegalTarget(java.lang.Object targetObject, java.lang.String targetMethodName)- Overrides:
checkForIllegalTarget
in classAbstractStandardMessageHandlerFactoryBean
-
createExpressionEvaluatingHandler
protected org.springframework.messaging.MessageHandler createExpressionEvaluatingHandler(org.springframework.expression.Expression expression)- Overrides:
createExpressionEvaluatingHandler
in classAbstractStandardMessageHandlerFactoryBean
-
createFilter
-
postProcessFilter
-
postProcessReplyProducer
- Overrides:
postProcessReplyProducer
in classAbstractStandardMessageHandlerFactoryBean
-
canBeUsedDirect
MessageFilter is an ARPMH. If a non-MessageFilter ARPMH is also a MessageSelector, MesageSelector wins and gets wrapped in a MessageFilter.- Overrides:
canBeUsedDirect
in classAbstractStandardMessageHandlerFactoryBean
-
getPreCreationHandlerType
protected java.lang.Class<? extends org.springframework.messaging.MessageHandler> getPreCreationHandlerType()Description copied from class:AbstractSimpleMessageHandlerFactoryBean
Subclasses can override this to return a more specific type before handler creation. After handler creation, the actual type is used.- Overrides:
getPreCreationHandlerType
in classAbstractSimpleMessageHandlerFactoryBean<org.springframework.messaging.MessageHandler>
- Returns:
- the type.
-