2016-05-17 3 views
0

Я использую следующий код для создания/подписания темы и обработки сообщений. Иногда связь теряется и ошибка говорит:Подключить stomp при отключении

Whoops! The connection was lost... 

Я хотел бы знать, если есть способ, чтобы восстановить его. Возможно ли в обратном вызове ошибки или определить весь код в методе и вызвать его рекурсивно в обратном вызове ошибки?

$(document).ready(function() { 
    ........ 
    ............... 
     try { 
      var socket = new SockJS("${createLink(uri: '/stomp')}"); 
      var client = Stomp.over(socket); 
      client.connect({}, function() { 
      client.subscribe("/topic/${userInstance?.username}",     
      function (message) { 
      ............ 
      .................... 

       }); 
      }); 
     } catch (error) { 
      console.log("ERROR: " + error.toString()); 
     } 
    }); 
+0

о боже, мне нужен ответ тоже :( – akiong

ответ

0

Мне удалось сделать это с помощью обратного вызова отказа и снова подключиться. Он будет продолжать пытаться, пока он потерпит неудачу.

0

Это то, что я использую в полимерный элемент:

ready: function() { 
    this.connectWs(); 
}, 
connectWs: function() { 
    this.socket = new WebSocket(this.socketUrl); 
    this.stompClient = Stomp.over(this.socket); 
    this.stompClient.debug = null; 
    this.stompClient.connect({}, 
     function(frame) { 
      // Connection OK 
     }.bind(this), 
     function(e) { 
      console.error(e, "Reconnecting WS", this.socketUrl); 
      window.setTimeout(function() { 
       this.connectWs(); 
      }.bind(this), 2500); 
     }.bind(this) 
    ); 
}, 
Смежные вопросы