public class PublishSubscribeChannel extends AbstractSubscribableChannel
AbstractMessageChannel.ChannelInterceptorList
logger
Constructor and Description |
---|
PublishSubscribeChannel()
Create a PublishSubscribeChannel that will invoke the handlers in the
message sender's thread.
|
PublishSubscribeChannel(java.util.concurrent.Executor executor)
Create a PublishSubscribeChannel that will use an
Executor
to invoke the handlers. |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getComponentType()
Subclasses may implement this method to provide component type information.
|
protected BroadcastingDispatcher |
getDispatcher() |
void |
onInit()
Callback method for initialization.
|
void |
setApplySequence(boolean applySequence)
Specify whether to apply the sequence number and size headers to the
messages prior to invoking the subscribed handlers.
|
void |
setErrorHandler(org.springframework.util.ErrorHandler errorHandler)
Provide an
ErrorHandler strategy for handling Exceptions that
occur downstream from this channel. |
void |
setIgnoreFailures(boolean ignoreFailures)
Specify whether failures for one or more of the handlers should be
ignored.
|
void |
setMaxSubscribers(int maxSubscribers)
Specify the maximum number of subscribers supported by the
channel's dispatcher.
|
void |
setMinSubscribers(int minSubscribers)
If at least this number of subscribers receive the message,
AbstractMessageChannel.send(org.springframework.integration.Message)
will return true. |
doSend, subscribe, unsubscribe
addInterceptor, getFullChannelName, getInterceptors, send, send, setConversionService, setDatatypes, setInterceptors, setShouldTrack
afterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
send, send
getComponentName
public PublishSubscribeChannel(java.util.concurrent.Executor executor)
Executor
to invoke the handlers. If this is null, each invocation will occur in
the message sender's thread.public PublishSubscribeChannel()
public java.lang.String getComponentType()
IntegrationObjectSupport
getComponentType
in interface NamedComponent
getComponentType
in class AbstractMessageChannel
public void setErrorHandler(org.springframework.util.ErrorHandler errorHandler)
ErrorHandler
strategy for handling Exceptions that
occur downstream from this channel. This will only be applied if
an Executor has been configured to dispatch the Messages for this
channel. Otherwise, Exceptions will be thrown directly within the
sending Thread. If no ErrorHandler is provided, and this channel does
delegate its dispatching to an Executor, the default strategy is
a MessagePublishingErrorHandler
that sends error messages to
the failed request Message's error channel header if available or to
the default 'errorChannel' otherwise.PublishSubscribeChannel(Executor)
public void setIgnoreFailures(boolean ignoreFailures)
false
meaning that an Exception
will be thrown whenever a handler fails. To override this and suppress
Exceptions, set the value to true
.public void setApplySequence(boolean applySequence)
false
meaning that sequence headers will
not be applied. If planning to use an Aggregator downstream
with the default correlation and completion strategies, you should set
this flag to true
.public void setMaxSubscribers(int maxSubscribers)
maxSubscribers
- public void setMinSubscribers(int minSubscribers)
AbstractMessageChannel.send(org.springframework.integration.Message)
will return true. Default: 0.minSubscribers
- The minimum number of subscribers.public final void onInit()
onInit
in class IntegrationObjectSupport
protected BroadcastingDispatcher getDispatcher()
getDispatcher
in class AbstractSubscribableChannel