This change consolidates TCP-related logic in the StompRelaySession. As
a result the sub-class SystemStompRelaySession now contains only logic
intrinsic to the shared system session.
@ -247,9 +247,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -247,9 +247,19 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -302,8 +312,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -302,8 +312,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -328,14 +338,30 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -328,14 +338,30 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
Assert.notNull(sessionId,"sessionId is required");
this.sessionId=sessionId;
this.isRemoteClientSession=isRemoteClientSession;
this.reconnectInterval=reconnectInterval;
}
@ -344,9 +370,23 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -344,9 +370,23 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
}
publicvoidconnect(finalMessage<?>connectMessage){
Assert.notNull(connectMessage,"connectMessage is required");
@ -366,10 +406,6 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -366,10 +406,6 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -403,7 +439,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -403,7 +439,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -411,7 +448,56 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -411,7 +448,56 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
Stringmessage="Broker hearbeat missed: connection idle for more than "+interval+"ms";
if(logger.isWarnEnabled()){
logger.warn(message);
}
disconnected(message);
}
});
}
}
protectedvoidconnected(){
if(!this.isRemoteClientSession){
initHeartbeats();
}
this.stompConnection.setReady();
}
@ -436,7 +522,18 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -436,7 +522,18 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
logger.error("STOMP ERROR on sessionId="+this.sessionId+": "+message);
}
}
// ignore otherwise
}
}
privatevoidforward(Message<?>message){
@ -547,89 +644,16 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -547,89 +644,16 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
Stringmessage="Broker hearbeat missed: connection idle for more than "+interval+"ms";
if(logger.isWarnEnabled()){
logger.warn(message);
}
disconnected(message);
}
});
}
super.connected(headers,stompConnection);
protectedvoidconnected(){
super.connected();
publishBrokerAvailableEvent();
}
@ -640,16 +664,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@@ -640,16 +664,8 @@ public class StompBrokerRelayMessageHandler extends AbstractBrokerMessageHandler
@ -91,14 +93,13 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@@ -91,14 +93,13 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@ -186,7 +187,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@@ -186,7 +187,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@ -215,10 +216,10 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@@ -215,10 +216,10 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@ -587,7 +588,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {
@@ -587,7 +588,7 @@ public class StompBrokerRelayMessageHandlerIntegrationTests {