Class FluxMessageChannel
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.channel.AbstractMessageChannel
org.springframework.integration.channel.FluxMessageChannel
- All Implemented Interfaces:
org.reactivestreams.Publisher<Message<?>>,Aware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Lifecycle,ReactiveStreamsSubscribableChannel,ComponentSourceAware,ExpressionCapable,IntegrationPattern,NamedComponent,IntegrationManagement,TrackableComponent,MessageChannel,InterceptableChannel
public class FluxMessageChannel
extends AbstractMessageChannel
implements org.reactivestreams.Publisher<Message<?>>, ReactiveStreamsSubscribableChannel, Lifecycle
The
AbstractMessageChannel implementation for the
Reactive Streams Publisher based on the Project Reactor Flux.
This class implements Lifecycle to control subscriptions to publishers
attached via subscribeTo(Publisher), when this channel is restarted.
- Since:
- 5.0
- Author:
- Artem Bilan, Gary Russell, Sergei Egorov
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.channel.AbstractMessageChannel
AbstractMessageChannel.ChannelInterceptorListNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.channel.AbstractMessageChannel
interceptors, metersFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.messaging.MessageChannel
INDEFINITE_TIMEOUT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()protected booleanSubclasses must implement this method.booleanvoidstart()voidstop()voidvoidsubscribeTo(org.reactivestreams.Publisher<? extends Message<?>> publisher) Methods inherited from class org.springframework.integration.channel.AbstractMessageChannel
addInterceptor, addInterceptor, getComponentType, getFullChannelName, getIChannelInterceptorList, getIntegrationPatternType, getInterceptors, getMetricsCaptor, getOverrides, isApplicationRunning, isLoggingEnabled, isObserved, onInit, registerMetricsCaptor, registerObservationRegistry, removeInterceptor, removeInterceptor, send, send, setDatatypes, setInterceptors, setLoggingEnabled, setMessageConverter, setObservationConvention, setShouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getManagedName, getManagedType, getThisAs, setManagedName, setManagedTypeMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentNameMethods inherited from interface org.springframework.integration.channel.ReactiveStreamsSubscribableChannel
getIntegrationPatternType
-
Constructor Details
-
FluxMessageChannel
public FluxMessageChannel()
-
-
Method Details
-
doSend
Description copied from class:AbstractMessageChannelSubclasses must implement this method. A non-negative timeout indicates how long to wait if the channel is at capacity (if the value is 0, it must return immediately with or without success). A negative timeout value indicates that the method should block until either the message is accepted or the blocking thread is interrupted.- Specified by:
doSendin classAbstractMessageChannel- Parameters:
message- The message.timeout- The timeout.- Returns:
- true if the
sendwas successful.
-
subscribe
- Specified by:
subscribein interfaceorg.reactivestreams.Publisher<Message<?>>
-
start
public void start() -
stop
public void stop() -
isRunning
public boolean isRunning() -
subscribeTo
- Specified by:
subscribeToin interfaceReactiveStreamsSubscribableChannel
-
destroy
public void destroy()- Specified by:
destroyin interfaceDisposableBean- Specified by:
destroyin interfaceIntegrationManagement- Overrides:
destroyin classAbstractMessageChannel
-