org.springframework.integration.filter
Class MessageFilter
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.filter.MessageFilter
- All Implemented Interfaces:
- org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, NamedComponent, Orderable, MessageHandler, MessageProducer, TrackableComponent
public class MessageFilter
- extends AbstractReplyProducingMessageHandler
Message Handler that delegates to a MessageSelector
. If and only if
the selector accepts
the Message, it
will be passed to this filter's output channel. Otherwise the message will
either be silently dropped (the default) or will trigger the throwing of a
MessageRejectedException
depending on the value of its
throwExceptionOnRejection
property. If a discard channel is
provided, the rejected Messages will be sent to that channel.
- Author:
- Mark Fisher, Oleg Zhurakousky
Fields inherited from interface org.springframework.core.Ordered |
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
MessageFilter
public MessageFilter(MessageSelector selector)
- Create a MessageFilter that will delegate to the given
MessageSelector
.
setThrowExceptionOnRejection
public void setThrowExceptionOnRejection(boolean throwExceptionOnRejection)
- Specify whether this filter should throw a
MessageRejectedException
when its selector does not accept a
Message. The default value is false
meaning that rejected
Messages will be quietly dropped or sent to the discard channel if
available. Typically this value would not be true
when
a discard channel is provided, but if so, it will still apply
(in such a case, the Message will be sent to the discard channel,
and then the exception will be thrown).
- See Also:
setDiscardChannel(MessageChannel)
setDiscardChannel
public void setDiscardChannel(MessageChannel discardChannel)
- Specify a channel where rejected Messages should be sent. If the discard
channel is null (the default), rejected Messages will be dropped. However,
the 'throwExceptionOnRejection' flag determines whether rejected Messages
trigger an exception. That value is evaluated regardless of the presence
of a discard channel.
- See Also:
setThrowExceptionOnRejection(boolean)
getComponentType
public java.lang.String getComponentType()
- Description copied from class:
IntegrationObjectSupport
- Subclasses may implement this method to provide component type information.
- Specified by:
getComponentType
in interface NamedComponent
- Overrides:
getComponentType
in class AbstractMessageHandler
onInit
public final void onInit()
- Description copied from class:
IntegrationObjectSupport
- Subclasses may implement this for initialization logic.
- Overrides:
onInit
in class AbstractReplyProducingMessageHandler
handleRequestMessage
protected java.lang.Object handleRequestMessage(Message<?> message)
- Description copied from class:
AbstractReplyProducingMessageHandler
- Subclasses must implement this method to handle the request Message. The return
value may be a Message, a MessageBuilder, or any plain Object. The base class
will handle the final creation of a reply Message from any of those starting
points. If the return value is null, the Message flow will end here.
- Specified by:
handleRequestMessage
in class AbstractReplyProducingMessageHandler
shouldCopyRequestHeaders
protected boolean shouldCopyRequestHeaders()
- Description copied from class:
AbstractReplyProducingMessageHandler
- Subclasses may override this. True by default.
- Overrides:
shouldCopyRequestHeaders
in class AbstractReplyProducingMessageHandler