Improve synchronization checks in STOMP relay session

This commit is contained in:
Rossen Stoyanchev
2013-06-19 08:28:58 -04:00
parent 28174744a7
commit 811bb1b0c9

View File

@@ -250,13 +250,15 @@ public class StompRelayPubSubMessageHandler<M extends Message> extends AbstractP
public void forward(M message, StompHeaders headers) {
synchronized(this.monitor) {
if (!this.isConnected) {
if (logger.isTraceEnabled()) {
logger.trace("Adding to queue message " + message + ", queue size=" + this.messageQueue.size());
if (!this.isConnected) {
synchronized(this.monitor) {
if (!this.isConnected) {
this.messageQueue.add(message);
if (logger.isTraceEnabled()) {
logger.trace("Queued message " + message + ", queue size=" + this.messageQueue.size());
}
return;
}
this.messageQueue.add(message);
return;
}
}