public class SubscribableRedisChannel extends AbstractMessageChannel implements SubscribableChannel, SmartLifecycle, DisposableBean
AbstractMessageChannel.ChannelInterceptorList
logger
INDEFINITE_TIMEOUT
Constructor and Description |
---|
SubscribableRedisChannel(RedisConnectionFactory connectionFactory,
String topicName) |
Modifier and Type | Method and Description |
---|---|
void |
destroy() |
protected boolean |
doSend(Message<?> message,
long arg1)
Subclasses must implement this method.
|
int |
getPhase() |
boolean |
isAutoStartup() |
boolean |
isRunning() |
void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setMaxSubscribers(int maxSubscribers)
Specify the maximum number of subscribers supported by the
channel's dispatcher.
|
void |
setMessageConverter(MessageConverter messageConverter)
Specify the
MessageConverter to use when trying to convert to
one of this channel's supported datatypes (in order) for a Message whose payload
does not already match. |
void |
setSerializer(RedisSerializer<?> serializer) |
void |
setTaskExecutor(Executor taskExecutor) |
void |
start() |
void |
stop() |
void |
stop(Runnable callback) |
boolean |
subscribe(MessageHandler handler) |
boolean |
unsubscribe(MessageHandler handler) |
addInterceptor, addInterceptor, getChannelInterceptors, getComponentType, getFullChannelName, getInterceptors, send, send, setConversionService, setDatatypes, setInterceptors, setShouldTrack
afterPropertiesSet, getApplicationContextId, getBeanFactory, getComponentName, getConversionService, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setComponentName, setMessageBuilderFactory, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
send, send
getComponentName
public SubscribableRedisChannel(RedisConnectionFactory connectionFactory, String topicName)
public void setTaskExecutor(Executor taskExecutor)
public void setMessageConverter(MessageConverter messageConverter)
AbstractMessageChannel
MessageConverter
to use when trying to convert to
one of this channel's supported datatypes (in order) for a Message whose payload
does not already match.
Note: only the MessageConverter.fromMessage(Message, Class)
method is used. If the returned object is not a Message
, the inbound
headers will be copied; if the returned object is a Message
, it is
expected that the converter will have fully populated the headers; no
further action is performed by the channel. If null
is returned,
conversion to the next datatype (if any) will be attempted.
Defaults to a DefaultDatatypeChannelMessageConverter
.
setMessageConverter
in class AbstractMessageChannel
messageConverter
- The message converter.public void setSerializer(RedisSerializer<?> serializer)
public void setMaxSubscribers(int maxSubscribers)
maxSubscribers
- The maximum number of subscribers allowed.public boolean subscribe(MessageHandler handler)
subscribe
in interface SubscribableChannel
public boolean unsubscribe(MessageHandler handler)
unsubscribe
in interface SubscribableChannel
protected boolean doSend(Message<?> message, long arg1)
AbstractMessageChannel
doSend
in class AbstractMessageChannel
message
- The message.arg1
- The timeout.public void onInit() throws Exception
IntegrationObjectSupport
onInit
in class AbstractMessageChannel
Exception
- Any exception.public boolean isAutoStartup()
isAutoStartup
in interface SmartLifecycle
public void stop(Runnable callback)
stop
in interface SmartLifecycle
public void destroy() throws Exception
destroy
in interface DisposableBean
Exception