Class DirectChannel
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.AbstractSubscribableChannel
org.springframework.integration.channel.DirectChannel
- All Implemented Interfaces:
- Aware,- BeanFactoryAware,- BeanNameAware,- DisposableBean,- InitializingBean,- ApplicationContextAware,- ExpressionCapable,- IntegrationPattern,- NamedComponent,- IntegrationManagement,- SubscribableChannelManagement,- TrackableComponent,- MessageChannel,- SubscribableChannel,- InterceptableChannel
A channel that invokes a single subscriber for each sent Message.
 The invocation will occur in the sender's thread.
- Author:
- Dave Syer, Mark Fisher, Iwein Fuld, Oleg Zhurakousky, Gary Russell, Artem Bilan
- 
Nested Class SummaryNested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannelAbstractMessageChannel.ChannelInterceptorListNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagementIntegrationManagement.ManagementOverrides
- 
Field SummaryFields inherited from class org.springframework.integration.channel.AbstractMessageChannelinterceptors, metersFields inherited from class org.springframework.integration.context.IntegrationObjectSupportEXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagementMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.messaging.MessageChannelINDEFINITE_TIMEOUT
- 
Constructor SummaryConstructorsConstructorDescriptionCreate a channel with defaultRoundRobinLoadBalancingStrategy.DirectChannel(LoadBalancingStrategy loadBalancingStrategy) Create a DirectChannel with aLoadBalancingStrategy.
- 
Method SummaryModifier and TypeMethodDescriptionprotected UnicastingDispatcherprotected voidonInit()Subclasses may implement this for initialization logic.voidsetFailover(boolean failover) Specify whether the channel's dispatcher should have failover enabled.voidsetFailoverStrategy(Predicate<Exception> failoverStrategy) Configure a strategy whether the channel's dispatcher should have failover enabled for the exception thrown.voidsetMaxSubscribers(int maxSubscribers) Specify the maximum number of subscribers supported by the channel's dispatcher.Methods inherited from class org.springframework.integration.channel.AbstractSubscribableChanneldoSend, getSubscriberCount, subscribe, unsubscribeMethods inherited from class org.springframework.integration.channel.AbstractMessageChanneladdInterceptor, addInterceptor, destroy, getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, removeInterceptor, removeInterceptor, send, send, setDatatypes, setInterceptors, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupportafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagementgetManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeMethods inherited from interface org.springframework.messaging.MessageChannelsend, sendMethods inherited from interface org.springframework.integration.support.context.NamedComponentgetBeanName, getComponentName
- 
Constructor Details- 
DirectChannelpublic DirectChannel()Create a channel with defaultRoundRobinLoadBalancingStrategy.
- 
DirectChannelCreate a DirectChannel with aLoadBalancingStrategy. Can benullmeaning that no balancing is applied; every message is always going to be handled by the first subscriber.- Parameters:
- loadBalancingStrategy- The load balancing strategy implementation.
- See Also:
 
 
- 
- 
Method Details- 
setFailoverpublic void setFailover(boolean failover) Specify whether the channel's dispatcher should have failover enabled. By default, it will. Set this value to 'false' to disable it. OverridessetFailoverStrategy(Predicate)option. In other words: or this, or that option has to be set.- Parameters:
- failover- The failover boolean.
 
- 
setFailoverStrategyConfigure a strategy whether the channel's dispatcher should have failover enabled for the exception thrown. OverridessetFailover(boolean)option. In other words: or this, or that option has to be set.- Parameters:
- failoverStrategy- The failover boolean.
- Since:
- 6.3
 
- 
setMaxSubscriberspublic void setMaxSubscribers(int maxSubscribers) Specify the maximum number of subscribers supported by the channel's dispatcher.- Parameters:
- maxSubscribers- The maximum number of subscribers allowed.
 
- 
getDispatcher- Specified by:
- getDispatcherin class- AbstractSubscribableChannel
 
- 
onInitprotected void onInit()Description copied from class:IntegrationObjectSupportSubclasses may implement this for initialization logic.- Overrides:
- onInitin class- AbstractMessageChannel
 
 
-