public abstract class AbstractStompSessionManager extends java.lang.Object implements StompSessionManager, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.SmartLifecycle, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.BeanNameAware
StompSessionManager implementation to manage a single StompSession
over its ListenableFuture from the target implementation of this class.
The connection to the StompSession is made during start().
The stop() lifecycle method manages StompSession.disconnect().
The connect(StompSessionHandler) and disconnect(StompSessionHandler) method
implementations populate/remove the provided StompSessionHandler to/from an internal
AbstractStompSessionManager.CompositeStompSessionHandler, which delegates all operations
to the provided StompSessionHandlers.
This AbstractStompSessionManager.CompositeStompSessionHandler is used for the
StompSession connection.
| Modifier and Type | Field and Description |
|---|---|
protected org.apache.commons.logging.Log |
logger |
protected org.springframework.messaging.simp.stomp.StompClientSupport |
stompClient |
| Constructor and Description |
|---|
AbstractStompSessionManager(org.springframework.messaging.simp.stomp.StompClientSupport stompClient) |
| Modifier and Type | Method and Description |
|---|---|
void |
connect(org.springframework.messaging.simp.stomp.StompSessionHandler handler) |
void |
destroy() |
void |
disconnect(org.springframework.messaging.simp.stomp.StompSessionHandler handler) |
protected abstract org.springframework.util.concurrent.ListenableFuture<org.springframework.messaging.simp.stomp.StompSession> |
doConnect(org.springframework.messaging.simp.stomp.StompSessionHandler handler) |
protected org.springframework.messaging.simp.stomp.StompHeaders |
getConnectHeaders() |
int |
getPhase() |
long |
getRecoveryInterval() |
boolean |
isAutoReceiptEnabled() |
boolean |
isAutoStartup() |
boolean |
isConnected() |
boolean |
isRunning() |
void |
setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher) |
void |
setAutoReceipt(boolean autoReceipt) |
void |
setAutoStartup(boolean autoStartup) |
void |
setBeanName(java.lang.String name) |
void |
setConnectHeaders(org.springframework.messaging.simp.stomp.StompHeaders connectHeaders) |
void |
setPhase(int phase) |
void |
setRecoveryInterval(int recoveryInterval)
Specify a reconnect interval in milliseconds in case of lost connection.
|
void |
start() |
void |
stop() |
void |
stop(java.lang.Runnable callback) |
java.lang.String |
toString() |
protected final org.apache.commons.logging.Log logger
protected final org.springframework.messaging.simp.stomp.StompClientSupport stompClient
public AbstractStompSessionManager(org.springframework.messaging.simp.stomp.StompClientSupport stompClient)
public void setConnectHeaders(org.springframework.messaging.simp.stomp.StompHeaders connectHeaders)
public void setAutoReceipt(boolean autoReceipt)
public boolean isAutoReceiptEnabled()
isAutoReceiptEnabled in interface StompSessionManagerpublic boolean isConnected()
isConnected in interface StompSessionManagerpublic void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAwarepublic void setBeanName(java.lang.String name)
setBeanName in interface org.springframework.beans.factory.BeanNameAwarepublic void setRecoveryInterval(int recoveryInterval)
recoveryInterval - the reconnect interval in milliseconds in case of lost connection.public void setAutoStartup(boolean autoStartup)
public void setPhase(int phase)
public long getRecoveryInterval()
public boolean isAutoStartup()
isAutoStartup in interface org.springframework.context.SmartLifecyclepublic boolean isRunning()
isRunning in interface org.springframework.context.Lifecyclepublic int getPhase()
getPhase in interface org.springframework.context.Phasedpublic void destroy()
destroy in interface org.springframework.beans.factory.DisposableBeanpublic void start()
start in interface org.springframework.context.Lifecyclepublic void stop(java.lang.Runnable callback)
stop in interface org.springframework.context.SmartLifecyclepublic void stop()
stop in interface org.springframework.context.Lifecyclepublic void connect(org.springframework.messaging.simp.stomp.StompSessionHandler handler)
connect in interface StompSessionManagerpublic void disconnect(org.springframework.messaging.simp.stomp.StompSessionHandler handler)
disconnect in interface StompSessionManagerprotected org.springframework.messaging.simp.stomp.StompHeaders getConnectHeaders()
public java.lang.String toString()
toString in class java.lang.Objectprotected abstract org.springframework.util.concurrent.ListenableFuture<org.springframework.messaging.simp.stomp.StompSession> doConnect(org.springframework.messaging.simp.stomp.StompSessionHandler handler)