Regarding the configuration of heart beating the STOMP protocol spec states:
"- because of timing inaccuracies, the receiver SHOULD be tolerant and take into account an error margin"
However, it appears that ActiveMQ 5.x is not tolerant of any error margin.
Despite the fact that the spec says SHOULD rather than MUST it would make the implementation of STOMP clients easier if the error margin was published.
As the broker aggressively enforces the heart beat timeouts false failover attempts can result.
Apparently Apollo supports an error margin of 1.5x the configured heart beat. If it could be made configurable that would be even better!