I think there should be a way for a consumer of STOMP to indicate that there was a failure processing the message and so it will not ACK it. At this point, the server might be configured to handle this any number of ways:
1. Give up on that message and move on to others. The message would go to a DLQ.
2. Suspend delivery to the consumer until it is manually rectified. Perhaps a bug in the consumer needs to be fixed.
3. Retry, a certain number or infinite times, fixed interval or exponential back-off to a threshold.
These might be fallbacks to each other. In any event, these strategies are out of scope of what I'm proposing. It's up to the MQ vendor to pick a strategy. But no strategy at all can be chosen unless a consumer agent of STOMP can tell the MQ vendor via STOMP that the message failed.
By the way, the man behind ActiveMessaging (a Ruby on Rails plugin for messaging, supporting stomp), Andrew Kuklewicz, has asked for this before from these lists.
~ David Smiley