There are many ways to map JMS to REST...

Crappy non-REST

Send via

Consume

This is bad as the GET is not idempotent. We can add a user ID or use a cookie

though a caching proxy may keep returning the same message

Simple REST using 1 at a time delivery

Subscribe via

POST /subscribe/consumerId/Destination
POST /unsubscribe/consumerId/Destination

Then get messges via

POST /nextMessageForMe/consumerId

If you want to acknowledge messages you then

POST /ack/consumerId/messageId

Batch message REST

-> give back up to 10 message URLs

GET message/consumerId/messageId

acknowledge them via

DELETE /consumerId/messages/messageId

Further options...

You can include ACK messages inside the POST; so the 2nd POST could include the ACKs - also you could return the batch of messages as well.

© 2004-2011 The Apache Software Foundation.
Apache ActiveMQ, ActiveMQ, Apache, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Graphic Design By Hiram