@@ -154,22 +154,26 @@ public void connect() {
154154 StompSessionHandler sessionHandler = new StompSessionHandler ();
155155 logger .log (Level .INFO , "Attempting web socket connection to " + connectUrl );
156156 new Thread (() -> {
157- while (attemptReconnect . get () ) {
158- try {
157+ while (true ) {
158+ try {
159159 synchronized (WebSocketClientService .this ) {
160- stompSession = stompClient .connect (connectUrl , sessionHandler ).get ();
161- stompSession .subscribe (this .subscriptionEndpoint , new StompFrameHandler () {
162- @ Override
163- public Type getPayloadType (StompHeaders headers ) {
164- return String .class ;
165- }
160+ if (attemptReconnect .get ()) {
161+ stompSession = stompClient .connect (connectUrl , sessionHandler ).get ();
162+ stompSession .subscribe (this .subscriptionEndpoint , new StompFrameHandler () {
163+ @ Override
164+ public Type getPayloadType (StompHeaders headers ) {
165+ return String .class ;
166+ }
166167
167- @ Override
168- public void handleFrame (StompHeaders headers , Object payload ) {
169- logger .log (Level .INFO , "Handling subscription frame: " + payload );
170- webSocketMessageHandlers .forEach (h -> h .handleWebSocketMessage ((String ) payload ));
171- }
172- });
168+ @ Override
169+ public void handleFrame (StompHeaders headers , Object payload ) {
170+ logger .log (Level .INFO , "Handling subscription frame: " + payload );
171+ webSocketMessageHandlers .forEach (h -> h .handleWebSocketMessage ((String ) payload ));
172+ }
173+ });
174+ attemptReconnect .set (false );
175+ }
176+ break ;
173177 }
174178 } catch (Exception e ) {
175179 logger .log (Level .WARNING , "Got exception when trying to connect" , e );
@@ -210,7 +214,6 @@ public void handleFrame(StompHeaders headers, @Nullable Object payload) {
210214 */
211215 @ Override
212216 public void afterConnected (StompSession session , StompHeaders connectedHeaders ) {
213- attemptReconnect .set (false );
214217 logger .log (Level .INFO , "Connected to web socket" );
215218 if (connectCallback != null ) {
216219 connectCallback .run ();
0 commit comments