REST 协议
有很多方法可以将 JMS 映射到 REST...
糟糕的非 REST
通过以下方式发送
POST /queue/Destination
消费
GET /queue/Destination
这很糟糕,因为 GET 不是幂等的。我们可以添加用户 ID 或使用 Cookie
GET /queue/Destination?jsessionId=....
尽管缓存代理可能会继续返回相同的消息
使用一次性传递的简单 REST
通过以下方式订阅
POST /subscribe/consumerId/Destination
POST /unsubscribe/consumerId/Destination
然后通过以下方式获取消息
POST /nextMessageForMe/consumerId
如果你想确认消息,那么
POST /ack/consumerId/messageId
批量消息 REST ——————
POST lockNextMessage/consumerId?max=10
-> 返回最多 10 个消息 URL
GET message/consumerId/messageId
通过以下方式确认它们
DELETE /consumerId/messages/messageId
更多选项...
你可以在 POST 中包含 ACK 消息;因此第二个 POST 可以包含 ACK - 此外,你还可以返回批量消息。