2013-04-24 49 views
1

我在我的應用程序中指定了以下設置,但應用程序沒有超時?工作燈:超時未註銷用戶

timeout: 60000 , 
heartBeatIntervalInSecs: 5 * 60 

我修改了我的代碼,並試圖在連接斷開時重新加載應用程序。它要求用戶重新加載或關閉該應用程序。但是這兩個功能都無法正常工作。事件被正確觸發,但指定的庫函數在這裏沒有按預期工作。關閉功能只在後臺使用App並且終止App進程。

onConnectionFailure: function(){ 
    WL.SimpleDialog.show("Communication Failure", "An unexpected server connection error has occurred. Please try again later.", 
    [{text : 'Reload', handler : function() { WL.Client.init(wlInitOptions); }} ,  {text : 'Close',handler : function() { WL.App.close(); } } ,  ]);  } 

還有什麼,我必須設置?

感謝

回答

2

嘗試添加以下的初始化選項的obj如果你想超時:

{ 
Timeout: 60000, 
heartBeatIntervalInSecs: 5 * 60, 
connectOnStartup : true, 
onConnectionFailure : function() { 
     alert('failed'); 
    } 
} 

如果後60000 MS沒有連接到工作燈服務器,你應該得到的failed警報。

該文檔是here。另外請注意,Timeout不僅適用於該初始化調用。參見以下內容:

整數值,表示以毫秒爲單位的超時。超時 影響從應用程序到IBM®Worklight®Server的所有調用。如果未指定 ,則使用30,000毫秒(30秒)的超時。

但是,這會不是註銷用戶。我假設您需要在服務器上設置一些會話過期數據,以在特定時間後註銷用戶。你可能想看看WL.Client.logout

+0

我在「initOptions.js」文件中定義了onFailure函數,並且一旦服務器連接建立一次,它就不會被觸發。 「initOptions.js」文件中的onFailure和onConnectionFailure之間是否有區別?謝謝 – AAhad 2013-04-24 18:21:45

+1

「如果未通過onFailure函數,則會調用默認的onFailure函數,如果onFailure通過,它將覆蓋任何特定的故障處理函數。」 onConnectionFailure是一個特定的錯誤handeling函數:「連接到IBM Worklight Server時調用的失敗處理函數,默認情況下在初始化時執行,或者connectOnStartup標誌爲true,失敗。」 [鏈接到文檔](http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m6/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fapiref%2Fr_wl_client_init.html) – cnandreu 2013-04-24 18:45:02