基於apache CXF的soap web服務客戶端使用的web服務也具有心跳服務。如果客戶端在10秒內沒有向Web服務發送任何請求,則客戶端應該向服務器發送心跳請求。我的問題是我們如何計算這個閒置的10秒。如何計算Web服務客戶端空閒時間
0
A
回答
0
我認爲這取決於你如何實現客戶端。
這裏是我的建議:
您可設置標誌送給客戶,如果客戶端調用該服務可以設置該標誌是真實的,和你有一個計時器,檢查標誌,並復位標誌每10秒鐘一次。一旦標誌在時間重置之前是假的,客戶端就可以向心跳服務發送一個ping。
1
如果你有一個單獨的類,你打電話給web服務,我認爲你可以實現如下。
KPHeartBeat.java
public class KPHearBeat {
private static Timer timer;
static{
timer = new Timer();
}
public String callWebService(int input){
timer.cancel();
System.out.println("calling my webService");
startTimer();
System.out.println("Starting timer");
return "Done";
}
private void startTimer() {
timer.purge();
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("Calling Heart Beat service");
}
}, 10000, 10000);
}
}
JUNIT類;
public class KPTestTimer {
@Test
public void testTimer(){
KPHearBeat kp = new KPHearBeat();
kp.callWebService(1);
try {
Thread.currentThread().sleep(15000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
kp.callWebService(2);
try {
Thread.currentThread().sleep(8000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
kp.callWebService(3);
try {
Thread.currentThread().sleep(25000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果你有多個方法和你在代碼中的不同地方調用它
那麼我認爲你可以使用單獨的類這將處理定時器。攔截器不會真的幫你。
相關問題
- 1. 如何從客戶端時間計算服務器時間
- 2. 如何計算客戶端/服務器時間間隔?
- 3. 服務器端與客戶端計算
- 4. 計算空閒時間尤伯杯服務
- 5. 如何設置Web服務客戶端的請求時間(Java)
- 6. 在Borland Starteam服務器中計算客戶端 - 服務器時間差異8
- 7. Glimpse如何計算服務器,電線和客戶端的時間?
- 8. Web服務 - 客戶端類
- 9. CodeIgniter Web服務客戶端
- 10. Web服務客戶端Java
- 11. java web服務客戶端
- 12. Java Web服務客戶端:
- 13. Java Web服務客戶端
- 14. Groovy Web服務客戶端
- 15. Android客戶端Web服務
- 16. Python web服務客戶端
- 17. Web服務wcfstorm客戶端
- 18. Soap Web服務客戶端
- 19. 在兩臺計算機上運行Web服務和客戶端
- 20. WCF Web服務客戶端超時值
- 21. java web服務客戶端超時
- 22. Java RMI(服務器:TCP連接空閒/客戶端:Unmarshalexception(EOFException))
- 23. 註冊計算系統空閒時間
- 24. Web服務客戶端和服務器
- 25. 計算(客戶和服務)
- 26. 如何爲Web服務客戶端設計單元測試?
- 27. 如何從客戶端計算機連接到BDC服務
- 28. 如何:Web服務和處理Web服務中的客戶端超時?
- 29. Web服務客戶端無法找到Web服務的端點
- 30. .NET客戶端調用java web服務 - (如何更改根名稱空間)