The RESTFul Interface for Durable Topics
send
POST /topics/{topic-name}?persistent=[true|false]&priority=[0-9+]&timeToLive=[0-9+]
Response is 204 NO-CONTENT on success. All query parameters optional
Dedicated Durable Topic Receivers
Dedicated topic receivers are JMS message consumers attached to a specific session.
Create a dedicated receiver that you can pull from.
PUT /topics/{topic-name}/durable/receivers/{receiver-id}
If you pass an ACCEPT header this will create a JMS selector that filters message for only a specific media type. So, if you pass an ACCEPT header of 'application/xml' this receiver will only get message of CONTENT-TYPE 'application/xml'
Delete a dedicated receiver
DELETE /topics/{topic-name}/durable/receivers/{receiver-id}
Get the current message that is in the receiver's buffer. This does not consume/acknowledge the message
GET /topics/{topic-name}/durable/receivers/{receiver-id}/head?wait=[0-9+]
Acknowledge the current message that is in the receiver buffer.
DELETE /topics/{topic-name}/durable/receivers/{receiver-id}/head
FYI, this is idempotent still!
get and acknowledge from the receiver at the same time
POST /topics/{topic-name}/durable/receivers/{receiver-id}/head
Topic Message listeners
You can register a URI to post to when a message is sent to this dedicated topic listener. This registers a MessageListener with the queue. When the message is received, on the server, it send the message to the registered URI.
Create a message listener
PUT /topics/{topic-name}/durable/listeners/{listener-id}
You must send a string that is the URI you want to send the message to. The content-type can be anything, "text/plain" or whatever.
If you pass an ACCEPT header this will create a JMS selector that filters message for only a specific media type. So, if you pass an ACCEPT header of 'application/xml' this receiver will only get message of CONTENT-TYPE 'application/xml'
Delete the listener
DELETE /topics/{topic-name}/durable/receivers/{receiver-id}
Comments