2012-05-07 69 views
1

我正在構建一個Java應用程序,它使用HTTP從許多來源收集信息。我正在尋找一個框架,可以幫助我跟蹤哪些資源在線,沒有響應或正在響應錯誤代碼。最好還可以檢測資源何時再次聯機。HTTP資源的自動監控

這是爲了避免輪詢不正確響應的服務器。有誰知道是否有這樣的框架?我還沒有發現任何有用的東西。輕量級選項會很棒。

+1

這些工具應該如何工作?他們不得不輪詢服務器(當資源脫機或再次聯機時,通常不會進行廣播)。 – Thomas

+0

我在想,當我執行一個get請求並得到一個錯誤的響應/無響應時,通知框架,如果我在X秒內得到了X個這樣的響應,則將其標記爲脫機,並且不會重試,直到X秒過去(或者如果有一些自動輪詢檢測它)。對我來說也有點模糊,但我認爲有人必須在我面前做到這一點。 :) – Peter

回答

0

對於通常在Java中使用HTTP,我可以推薦Apache的HTTPClient庫。它有一個很好的文檔,易於使用。

使用DefaultHttpClient類'execute(...)方法可以輕鬆找出資源是否在線。您可以通過檢查響應的status line來查找狀態代碼。

編輯:如果你使用這個庫,你將不得不手動編碼你的問題的具體方面:資源重複輪詢和某種基於事件的通知當資源停止或再次出現時。

但是,我認爲這可以很快完成,例如通過使用計時器。這樣,您不必包含額外的框架。 HTTPClient庫是相當輕量級的,儘管這當然取決於你對單詞的定義。請注意,它帶有對HTTPCore,commons-logging和commons-codec的依賴關係。

+0

Thx爲您的輸入,是的,你可能是正確的,它不需要很長的時間來編寫這個自己,我會研究它,如果沒有其他選項出現在這裏! – Peter

+0

似乎還沒有這樣的框架。畢竟,這是一種**特殊的問題。但是如果你要實現這一點,你可以改變這種情況! ;-) – rolve

+0

你是對的,我會自己把這個神奇的圖書館添加到世界! – Peter