类 DefaultStompSession
- java.lang.Object
- org.springframework.messaging.simp.stomp.DefaultStompSession
- 所有已实现的接口:
ConnectionHandlingStompSession
,StompSession
,TcpConnectionHandler<byte[]>
public class DefaultStompSession extends Object implements ConnectionHandlingStompSession
Default implementation ofConnectionHandlingStompSession
.- 从以下版本开始:
- 4.2
- 作者:
- Rossen Stoyanchev
嵌套类概要
从接口继承的嵌套类/接口 org.springframework.messaging.simp.stomp.StompSession
StompSession.Receiptable, StompSession.Subscription
字段概要
字段 修饰符和类型 字段 说明 static byte[]
EMPTY_PAYLOAD
构造器概要
构造器 构造器 说明 DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders)
Create a new session.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 StompSession.Receiptable
acknowledge(String messageId, boolean consumed)
Send an acknowledgement whether a message was consumed or not resulting in an ACK or NACK frame respectively.void
afterConnected(TcpConnection<byte[]> connection)
Invoked after a connection is successfully established.void
afterConnectFailure(Throwable ex)
Invoked on failure to connect.void
afterConnectionClosed()
Invoked after the connection is closed.void
disconnect()
Disconnect the session by sending a DISCONNECT frame.MessageConverter
getMessageConverter()
Return the configuredMessageConverter
.long
getReceiptTimeLimit()
Return the configured time limit before a receipt expires.ListenableFuture<StompSession>
getSessionFuture()
Return a future that will complete when the session is ready for use.StompSessionHandler
getSessionHandler()
Return the configured session handler.String
getSessionId()
Return the id for the session.TaskScheduler
getTaskScheduler()
Return the configured TaskScheduler to use for receipt tracking.void
handleFailure(Throwable ex)
Handle a failure on the connection.void
handleMessage(Message<byte[]> message)
Handle a message received from the remote host.boolean
isAutoReceiptEnabled()
Whether receipt headers should be automatically added.boolean
isConnected()
Whether the session is connected.StompSession.Receiptable
send(String destination, Object payload)
Send a message to the specified destination, converting the payload to abyte[]
with the help of aMessageConverter
.StompSession.Receiptable
send(StompHeaders stompHeaders, Object payload)
An overloaded version ofStompSession.send(String, Object)
with fullStompHeaders
instead of just a destination.void
setAutoReceipt(boolean autoReceiptEnabled)
When enabled, a receipt header is automatically added to futuresend
andsubscribe
operations on this session, which causes the server to return a RECEIPT.void
setMessageConverter(MessageConverter messageConverter)
Set theMessageConverter
to use to convert the payload of incoming and outgoing messages to and frombyte[]
based on object type, or expected object type, and the "content-type" header.void
setReceiptTimeLimit(long receiptTimeLimit)
Configure the time in milliseconds before a receipt expires.void
setTaskScheduler(TaskScheduler taskScheduler)
Configure the TaskScheduler to use for receipt tracking.StompSession.Subscription
subscribe(String destination, StompFrameHandler handler)
Subscribe to the given destination by sending a SUBSCRIBE frame and handle received messages with the specifiedStompFrameHandler
.StompSession.Subscription
subscribe(StompHeaders stompHeaders, StompFrameHandler handler)
An overloaded version ofStompSession.subscribe(String, StompFrameHandler)
with fullStompHeaders
instead of just a destination.
字段详细资料
EMPTY_PAYLOAD
public static final byte[] EMPTY_PAYLOAD
构造器详细资料
DefaultStompSession
public DefaultStompSession(StompSessionHandler sessionHandler, StompHeaders connectHeaders)
Create a new session.- 参数:
sessionHandler
- the application handler for the sessionconnectHeaders
- headers for the STOMP CONNECT frame
方法详细资料
getSessionId
public String getSessionId()
从接口复制的说明:StompSession
Return the id for the session.- 指定者:
getSessionId
在接口中StompSession
getSessionHandler
public StompSessionHandler getSessionHandler()
Return the configured session handler.
getSessionFuture
public ListenableFuture<StompSession> getSessionFuture()
从接口复制的说明:ConnectionHandlingStompSession
Return a future that will complete when the session is ready for use.
setMessageConverter
public void setMessageConverter(MessageConverter messageConverter)
Set theMessageConverter
to use to convert the payload of incoming and outgoing messages to and frombyte[]
based on object type, or expected object type, and the "content-type" header.By default,
SimpleMessageConverter
is configured.- 参数:
messageConverter
- the message converter to use
getMessageConverter
public MessageConverter getMessageConverter()
Return the configuredMessageConverter
.
setTaskScheduler
public void setTaskScheduler(TaskScheduler taskScheduler)
Configure the TaskScheduler to use for receipt tracking.
getTaskScheduler
public TaskScheduler getTaskScheduler()
Return the configured TaskScheduler to use for receipt tracking.
setReceiptTimeLimit
public void setReceiptTimeLimit(long receiptTimeLimit)
Configure the time in milliseconds before a receipt expires.By default set to 15,000 (15 seconds).
getReceiptTimeLimit
public long getReceiptTimeLimit()
Return the configured time limit before a receipt expires.
setAutoReceipt
public void setAutoReceipt(boolean autoReceiptEnabled)
从接口复制的说明:StompSession
When enabled, a receipt header is automatically added to futuresend
andsubscribe
operations on this session, which causes the server to return a RECEIPT. An application can then use theReceiptable
returned from the operation to track the receipt.A receipt header can also be added manually through the overloaded methods that accept
StompHeaders
.- 指定者:
setAutoReceipt
在接口中StompSession
isAutoReceiptEnabled
public boolean isAutoReceiptEnabled()
Whether receipt headers should be automatically added.
isConnected
public boolean isConnected()
从接口复制的说明:StompSession
Whether the session is connected.- 指定者:
isConnected
在接口中StompSession
send
public StompSession.Receiptable send(String destination, Object payload)
从接口复制的说明:StompSession
Send a message to the specified destination, converting the payload to abyte[]
with the help of aMessageConverter
.- 指定者:
send
在接口中StompSession
- 参数:
destination
- the destination to send a message topayload
- the message payload- 返回:
- a Receiptable for tracking receipts
send
public StompSession.Receiptable send(StompHeaders stompHeaders, Object payload)
从接口复制的说明:StompSession
An overloaded version ofStompSession.send(String, Object)
with fullStompHeaders
instead of just a destination. The headers must contain a destination and may also have other headers such as "content-type" or custom headers for the broker to propagate to subscribers, or broker-specific, non-standard headers.- 指定者:
send
在接口中StompSession
- 参数:
stompHeaders
- the message headerspayload
- the message payload- 返回:
- a Receiptable for tracking receipts
subscribe
public StompSession.Subscription subscribe(String destination, StompFrameHandler handler)
从接口复制的说明:StompSession
Subscribe to the given destination by sending a SUBSCRIBE frame and handle received messages with the specifiedStompFrameHandler
.- 指定者:
subscribe
在接口中StompSession
- 参数:
destination
- the destination to subscribe tohandler
- the handler for received messages- 返回:
- a handle to use to unsubscribe and/or track receipts
subscribe
public StompSession.Subscription subscribe(StompHeaders stompHeaders, StompFrameHandler handler)
从接口复制的说明:StompSession
An overloaded version ofStompSession.subscribe(String, StompFrameHandler)
with fullStompHeaders
instead of just a destination.- 指定者:
subscribe
在接口中StompSession
- 参数:
stompHeaders
- the headers for the subscribe message framehandler
- the handler for received messages- 返回:
- a handle to use to unsubscribe and/or track receipts
acknowledge
public StompSession.Receiptable acknowledge(String messageId, boolean consumed)
从接口复制的说明:StompSession
Send an acknowledgement whether a message was consumed or not resulting in an ACK or NACK frame respectively.Note: to use this when subscribing you must set the
ack
header to "client" or "client-individual" in order ot use this.- 指定者:
acknowledge
在接口中StompSession
- 参数:
messageId
- the id of the messageconsumed
- whether the message was consumed or not- 返回:
- a Receiptable for tracking receipts
disconnect
public void disconnect()
从接口复制的说明:StompSession
Disconnect the session by sending a DISCONNECT frame.- 指定者:
disconnect
在接口中StompSession
afterConnected
public void afterConnected(TcpConnection<byte[]> connection)
从接口复制的说明:TcpConnectionHandler
Invoked after a connection is successfully established.- 指定者:
afterConnected
在接口中TcpConnectionHandler<byte[]>
- 参数:
connection
- the connection
afterConnectFailure
public void afterConnectFailure(Throwable ex)
从接口复制的说明:TcpConnectionHandler
Invoked on failure to connect.- 指定者:
afterConnectFailure
在接口中TcpConnectionHandler<byte[]>
- 参数:
ex
- the exception
handleMessage
public void handleMessage(Message<byte[]> message)
从接口复制的说明:TcpConnectionHandler
Handle a message received from the remote host.- 指定者:
handleMessage
在接口中TcpConnectionHandler<byte[]>
- 参数:
message
- the message
handleFailure
public void handleFailure(Throwable ex)
从接口复制的说明:TcpConnectionHandler
Handle a failure on the connection.- 指定者:
handleFailure
在接口中TcpConnectionHandler<byte[]>
- 参数:
ex
- the exception
afterConnectionClosed
public void afterConnectionClosed()
从接口复制的说明:TcpConnectionHandler
Invoked after the connection is closed.- 指定者:
afterConnectionClosed
在接口中TcpConnectionHandler<byte[]>