我正在構建一個Java應用程序,它使用HTTP從許多來源收集信息。我正在尋找一個框架,可以幫助我跟蹤哪些資源在線,沒有響應或正在響應錯誤代碼。最好還可以檢測資源何時再次聯機。HTTP資源的自動監控
這是爲了避免輪詢不正確響應的服務器。有誰知道是否有這樣的框架?我還沒有發現任何有用的東西。輕量級選項會很棒。
我正在構建一個Java應用程序,它使用HTTP從許多來源收集信息。我正在尋找一個框架,可以幫助我跟蹤哪些資源在線,沒有響應或正在響應錯誤代碼。最好還可以檢測資源何時再次聯機。HTTP資源的自動監控
這是爲了避免輪詢不正確響應的服務器。有誰知道是否有這樣的框架?我還沒有發現任何有用的東西。輕量級選項會很棒。
對於通常在Java中使用HTTP,我可以推薦Apache的HTTPClient庫。它有一個很好的文檔,易於使用。
使用DefaultHttpClient類'execute(...)方法可以輕鬆找出資源是否在線。您可以通過檢查響應的status line來查找狀態代碼。
編輯:如果你使用這個庫,你將不得不手動編碼你的問題的具體方面:資源重複輪詢和某種基於事件的通知當資源停止或再次出現時。
但是,我認爲這可以很快完成,例如通過使用計時器。這樣,您不必包含額外的框架。 HTTPClient庫是相當輕量級的,儘管這當然取決於你對單詞的定義。請注意,它帶有對HTTPCore,commons-logging和commons-codec的依賴關係。
這些工具應該如何工作?他們不得不輪詢服務器(當資源脫機或再次聯機時,通常不會進行廣播)。 – Thomas
我在想,當我執行一個get請求並得到一個錯誤的響應/無響應時,通知框架,如果我在X秒內得到了X個這樣的響應,則將其標記爲脫機,並且不會重試,直到X秒過去(或者如果有一些自動輪詢檢測它)。對我來說也有點模糊,但我認爲有人必須在我面前做到這一點。 :) – Peter