Package com.slack.api.socket_mode
Interface SocketModeClient
- All Superinterfaces:
AutoCloseable,Closeable
- All Known Implementing Classes:
SocketModeClientJavaWSImpl,SocketModeClientTyrusImpl
Socket Mode Client
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumBuilt-in backend supports. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final longstatic final Stringstatic final com.google.gson.Gsonstatic final org.slf4j.Loggerstatic final com.google.gson.Gson -
Method Summary
Modifier and TypeMethodDescriptiondefault voiddefault voiddefault voiddefault voiddefault voiddefault voiddefault voidclose()Closes this Socket Mode client.voidconnect()Connects to the current WSS endpoint and starts a new WebSocket session.default voidConnects to a new WSS endpoint and starts a new WebSocket session.default voiddebugLogRequest(String message) default voiddebugLogResponse(String message) voidDisconnects from the wss endpoint and abandons the current session.default voidenqueueMessage(String message) default Stringdefault com.google.gson.GsongetGson()default org.slf4j.LoggerReturns the message queue for message processor workers.getSlack()Returns the current WSS URI.default voidinitializeMessageProcessorExecutor(int concurrency) default voidinitializeSessionMonitorExecutor(long intervalMillis) booleanTries to reconnect to the Socket Mode server if true.booleanReturns true if the client tries to reconnect when onClose listeners are called plus isAutoReconnectEnabled() is true.booleanA background job for session maintenance works if true.longMaintains the current session in a background job.default voidprocessMessage(String message) default voiddefault voiddefault voiddefault voiddefault voiddefault voiddefault voidrunCloseListenersAndAutoReconnectAsNecessary(Integer code, String reason) default voidrunErrorListeners(Throwable reason) default voidsendSocketModeResponse(SocketModeResponse response) default voidsendSocketModeResponse(String message) voidsendWebSocketMessage(String message) Sends a text message to the Socket Mode server via the current WebSocket connection.voidsetAppToken(String appToken) voidsetAutoReconnectEnabled(boolean autoReconnectEnabled) voidsetAutoReconnectOnCloseEnabled(boolean autoReconnectOnCloseEnabled) voidsetMessageProcessorExecutor(ScheduledExecutorService executorService) voidsetMessageQueue(SocketModeMessageQueue messageQueue) voidsetSessionMonitorEnabled(boolean sessionMonitorEnabled) voidsetSessionMonitorExecutor(Optional<ScheduledExecutorService> executorService) voidvoidbooleanReturns true if this client is connected to the Socket Mode server.
-
Field Details
-
DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY
static final int DEFAULT_MESSAGE_PROCESSOR_CONCURRENCY- See Also:
-
DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS
static final long DEFAULT_SESSION_MONITOR_INTERVAL_MILLISECONDS- See Also:
-
LOGGER
static final org.slf4j.Logger LOGGER -
GSON
static final com.google.gson.Gson GSON -
PRETTY_PRINTING
static final com.google.gson.Gson PRETTY_PRINTING -
EXECUTOR_GROUP_NAME_PREFIX
- See Also:
-
-
Method Details
-
connect
Connects to the current WSS endpoint and starts a new WebSocket session.- Throws:
IOException
-
verifyConnection
boolean verifyConnection()Returns true if this client is connected to the Socket Mode server. -
isAutoReconnectOnCloseEnabled
boolean isAutoReconnectOnCloseEnabled()Returns true if the client tries to reconnect when onClose listeners are called plus isAutoReconnectEnabled() is true. Default: false -
setAutoReconnectOnCloseEnabled
void setAutoReconnectOnCloseEnabled(boolean autoReconnectOnCloseEnabled) -
connectToNewEndpoint
Connects to a new WSS endpoint and starts a new WebSocket session.- Throws:
IOException
-
disconnect
Disconnects from the wss endpoint and abandons the current session.- Throws:
IOException
-
close
Closes this Socket Mode client. After calling this method, the instance is no longer available to use.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getSlack
Slack getSlack() -
setSlack
-
getAppToken
String getAppToken() -
setAppToken
-
getWssUri
URI getWssUri()Returns the current WSS URI. -
setWssUri
-
isAutoReconnectEnabled
boolean isAutoReconnectEnabled()Tries to reconnect to the Socket Mode server if true. -
setAutoReconnectEnabled
void setAutoReconnectEnabled(boolean autoReconnectEnabled) -
isSessionMonitorEnabled
boolean isSessionMonitorEnabled()A background job for session maintenance works if true. -
setSessionMonitorEnabled
void setSessionMonitorEnabled(boolean sessionMonitorEnabled) -
getSessionMonitorExecutor
Optional<ScheduledExecutorService> getSessionMonitorExecutor() -
setSessionMonitorExecutor
-
getMessageQueue
SocketModeMessageQueue getMessageQueue()Returns the message queue for message processor workers. -
setMessageQueue
-
getMessageProcessorExecutor
ScheduledExecutorService getMessageProcessorExecutor() -
setMessageProcessorExecutor
-
initializeMessageProcessorExecutor
default void initializeMessageProcessorExecutor(int concurrency) -
initializeSessionMonitorExecutor
default void initializeSessionMonitorExecutor(long intervalMillis) -
sendSocketModeResponse
-
sendSocketModeResponse
-
sendWebSocketMessage
Sends a text message to the Socket Mode server via the current WebSocket connection. -
getWebSocketErrorListeners
List<WebSocketErrorListener> getWebSocketErrorListeners() -
addWebSocketErrorListener
-
removeWebSocketErrorListener
-
runErrorListeners
-
getWebSocketCloseListeners
List<WebSocketCloseListener> getWebSocketCloseListeners() -
addWebSocketCloseListener
-
removeWebSocketCloseListener
-
runCloseListenersAndAutoReconnectAsNecessary
-
enqueueMessage
-
getWebSocketMessageListeners
List<WebSocketMessageListener> getWebSocketMessageListeners() -
addWebSocketMessageListener
-
removeWebSocketMessageListener
-
getEventsApiEnvelopeListeners
List<EnvelopeListener<EventsApiEnvelope>> getEventsApiEnvelopeListeners() -
getInteractiveEnvelopeListeners
List<EnvelopeListener<InteractiveEnvelope>> getInteractiveEnvelopeListeners() -
getSlashCommandsEnvelopeListeners
List<EnvelopeListener<SlashCommandsEnvelope>> getSlashCommandsEnvelopeListeners() -
addEventsApiEnvelopeListener
-
removeEventsApiEnvelopeListener
-
addInteractiveEnvelopeListener
-
removeInteractiveEnvelopeListener
-
addSlashCommandsEnvelopeListener
-
removeSlashCommandsEnvelopeListener
-
getLogger
default org.slf4j.Logger getLogger() -
getGson
default com.google.gson.Gson getGson() -
processMessage
- Throws:
IOException
-
debugLogRequest
-
debugLogResponse
-
getExecutorGroupNamePrefix
-
maintainCurrentSession
long maintainCurrentSession()Maintains the current session in a background job.see also: initializeSessionMonitorExecutor
- Returns:
- unix time to check next time
-