Class ConnectionManagerSupport
- All Implemented Interfaces:
Lifecycle, Phased, SmartLifecycle
- Direct Known Subclasses:
AnnotatedEndpointConnectionManager, EndpointConnectionManager, WebSocketConnectionManager
start() and disconnects on stop().
If setAutoStartup(boolean) is set to true this will be done
automatically when the Spring ApplicationContext is refreshed.- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Field Summary
FieldsFields inherited from interface SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
ConstructorsConstructorDescriptionConnectionManagerSupport(String uriTemplate, @Nullable Object... uriVariables) Constructor with a URI template and variables.Constructor with a preparedURI. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidSubclasses implement this to close the connection.intgetPhase()Return the phase in which this endpoint connection factory will be auto-connected and stopped.protected URIgetUri()booleanReturn the value for the 'autoStartup' property.abstract booleanWhether the connection is open/trueor closed/false.booleanReturn whether this ConnectionManager has been started.protected abstract voidSubclasses implement this to actually establish the connection.voidsetAutoStartup(boolean autoStartup) Set whether to auto-connect to the remote endpoint after this connection manager has been initialized and the Spring context has been refreshed.voidsetPhase(int phase) Specify the phase in which a connection should be established to the remote endpoint and subsequently closed.final voidstart()Start the WebSocket connection.protected voidfinal voidstop()Stop this component, typically in a synchronous fashion, such that the component is fully stopped upon return of this method.final voidIndicates that a Lifecycle component must stop if it is currently running.protected voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface SmartLifecycle
isPauseable
-
Field Details
-
logger
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
ConnectionManagerSupport
-
ConnectionManagerSupport
-
-
Method Details
-
getUri
-
setAutoStartup
public void setAutoStartup(boolean autoStartup) Set whether to auto-connect to the remote endpoint after this connection manager has been initialized and the Spring context has been refreshed.Default is "false".
-
isAutoStartup
public boolean isAutoStartup()Return the value for the 'autoStartup' property. If "true", this endpoint connection manager will connect to the remote endpoint upon a ContextRefreshedEvent.- Specified by:
isAutoStartupin interfaceSmartLifecycle- See Also:
-
setPhase
public void setPhase(int phase) Specify the phase in which a connection should be established to the remote endpoint and subsequently closed. The startup order proceeds from lowest to highest, and the shutdown order is the reverse of that. By default, this value is Integer.MAX_VALUE meaning that this endpoint connection factory connects as late as possible and is closed as soon as possible. -
getPhase
public int getPhase()Return the phase in which this endpoint connection factory will be auto-connected and stopped.- Specified by:
getPhasein interfacePhased- Specified by:
getPhasein interfaceSmartLifecycle- See Also:
-
start
-
startInternal
protected void startInternal() -
stop
public final void stop()Description copied from interface:LifecycleStop this component, typically in a synchronous fashion, such that the component is fully stopped upon return of this method. Consider implementingSmartLifecycleand itsstop(Runnable)variant when asynchronous stop behavior is necessary.Note that this stop notification is not guaranteed to come before destruction: On regular shutdown,
Lifecyclebeans will first receive a stop notification before the general destruction callbacks are being propagated; however, on hot refresh during a context's lifetime or on aborted refresh attempts, a given bean's destroy method will be called without any consideration of stop signals upfront.Should not throw an exception if the component is not running (not started yet).
In the case of a container, this will propagate the stop signal to all components that apply.
-
stop
Description copied from interface:SmartLifecycleIndicates that a Lifecycle component must stop if it is currently running.The provided callback is used by the
LifecycleProcessorto support an ordered, and potentially concurrent, shutdown of all components having a common shutdown order value. The callback must be executed after theSmartLifecyclecomponent does indeed stop.The
LifecycleProcessorwill call only this variant of thestopmethod; i.e.Lifecycle.stop()will not be called forSmartLifecycleimplementations unless explicitly delegated to within the implementation of this method.The default implementation delegates to
Lifecycle.stop()and immediately triggers the given callback in the calling thread. Note that there is no synchronization between the two, so custom implementations may at least want to put the same steps within their common lifecycle monitor (if any).- Specified by:
stopin interfaceSmartLifecycle- See Also:
-
stopInternal
-
isRunning
-
isConnected
public abstract boolean isConnected()Whether the connection is open/trueor closed/false. -
openConnection
protected abstract void openConnection()Subclasses implement this to actually establish the connection. -
closeConnection
-