Interface StompSession
- All Known Subinterfaces:
ConnectionHandlingStompSession
- All Known Implementing Classes:
DefaultStompSession
public interface StompSession
Represents a STOMP session with operations to send messages,
create subscriptions and receive messages on those subscriptions.
- Since:
- 4.2
- Author:
- Rossen Stoyanchev
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
A handle to use to track receipts.static interface
A handle to use to unsubscribe or to track a receipt. -
Method Summary
Modifier and TypeMethodDescriptionacknowledge
(String messageId, boolean consumed) Send an acknowledgement whether a message was consumed or not resulting in an ACK or NACK frame respectively.acknowledge
(StompHeaders headers, boolean consumed) An overloaded version ofacknowledge(String, boolean)
with fullStompHeaders
instead of just amessageId
.void
Disconnect the session by sending a DISCONNECT frame.void
disconnect
(StompHeaders headers) Variant ofdisconnect()
with headers.Return the id for the session.boolean
Whether the session is connected.Send a message to the specified destination, converting the payload to abyte[]
with the help of aMessageConverter
.send
(StompHeaders headers, Object payload) An overloaded version ofsend(String, Object)
with fullStompHeaders
instead of just a destination.void
setAutoReceipt
(boolean enabled) When enabled, a receipt header is automatically added to futuresend
andsubscribe
operations on this session, which causes the server to return a RECEIPT.subscribe
(String destination, StompFrameHandler handler) Subscribe to the given destination by sending a SUBSCRIBE frame and handle received messages with the specifiedStompFrameHandler
.subscribe
(StompHeaders headers, StompFrameHandler handler) An overloaded version ofsubscribe(String, StompFrameHandler)
with fullStompHeaders
instead of just a destination.
-
Method Details
-
getSessionId
String getSessionId()Return the id for the session. -
isConnected
boolean isConnected()Whether the session is connected. -
setAutoReceipt
void setAutoReceipt(boolean enabled) 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
. -
send
Send a message to the specified destination, converting the payload to abyte[]
with the help of aMessageConverter
.- Parameters:
destination
- the destination to send a message topayload
- the message payload- Returns:
- a Receiptable for tracking receipts
-
send
An overloaded version ofsend(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.- Parameters:
headers
- the message headerspayload
- the message payload- Returns:
- a Receiptable for tracking receipts
-
subscribe
Subscribe to the given destination by sending a SUBSCRIBE frame and handle received messages with the specifiedStompFrameHandler
.- Parameters:
destination
- the destination to subscribe tohandler
- the handler for received messages- Returns:
- a handle to use to unsubscribe and/or track receipts
-
subscribe
An overloaded version ofsubscribe(String, StompFrameHandler)
with fullStompHeaders
instead of just a destination.- Parameters:
headers
- the headers for the subscribed message framehandler
- the handler for received messages- Returns:
- a handle to use to unsubscribe and/or track receipts
-
acknowledge
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.- Parameters:
messageId
- the id of the messageconsumed
- whether the message was consumed or not- Returns:
- a Receiptable for tracking receipts
- Since:
- 4.3
-
acknowledge
An overloaded version ofacknowledge(String, boolean)
with fullStompHeaders
instead of just amessageId
.- Parameters:
headers
- the headers for the ACK or NACK message frameconsumed
- whether the message was consumed or not- Returns:
- a Receiptable for tracking receipts
- Since:
- 5.0.5
-
disconnect
void disconnect()Disconnect the session by sending a DISCONNECT frame. -
disconnect
Variant ofdisconnect()
with headers.- Parameters:
headers
- the headers for the disconnect message frame- Since:
- 5.2.2
-