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
Nested Classes Modifier and Type Interface Description static interfaceStompSession.ReceiptableA handle to use to track receipts.static interfaceStompSession.SubscriptionA handle to use to unsubscribe or to track a receipt.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StompSession.Receiptableacknowledge(String messageId, boolean consumed)Send an acknowledgement whether a message was consumed or not resulting in an ACK or NACK frame respectively.voiddisconnect()Disconnect the session by sending a DISCONNECT frame.StringgetSessionId()Return the id for the session.booleanisConnected()Whether the session is connected.StompSession.Receiptablesend(String destination, Object payload)Send a message to the specified destination, converting the payload to abyte[]with the help of aMessageConverter.StompSession.Receiptablesend(StompHeaders headers, Object payload)An overloaded version ofsend(String, Object)with fullStompHeadersinstead of just a destination.voidsetAutoReceipt(boolean enabled)When enabled, a receipt header is automatically added to futuresendandsubscribeoperations on this session, which causes the server to return a RECEIPT.StompSession.Subscriptionsubscribe(String destination, StompFrameHandler handler)Subscribe to the given destination by sending a SUBSCRIBE frame and handle received messages with the specifiedStompFrameHandler.StompSession.Subscriptionsubscribe(StompHeaders headers, StompFrameHandler handler)An overloaded version ofsubscribe(String, StompFrameHandler)with fullStompHeadersinstead of just a destination.
Method Detail
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 futuresendandsubscribeoperations on this session, which causes the server to return a RECEIPT. An application can then use theReceiptablereturned from the operation to track the receipt.A receipt header can also be added manually through the overloaded methods that accept
StompHeaders.
send
StompSession.Receiptable send(String destination, Object payload)
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
StompSession.Receiptable send(StompHeaders headers, Object payload)
An overloaded version ofsend(String, Object)with fullStompHeadersinstead 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
StompSession.Subscription subscribe(String destination, StompFrameHandler handler)
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
StompSession.Subscription subscribe(StompHeaders headers, StompFrameHandler handler)
An overloaded version ofsubscribe(String, StompFrameHandler)with fullStompHeadersinstead of just a destination.- Parameters:
headers- the headers for the subscribe message framehandler- the handler for received messages- Returns:
- a handle to use to unsubscribe and/or track receipts
acknowledge
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.Note: to use this when subscribing you must set the
ackheader 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
disconnect
void disconnect()
Disconnect the session by sending a DISCONNECT frame.