2017-01-17 23 views
0

我有一個關於如何正確有效地使用Spring的計劃標註問題。基本上我想要做以下事情;我有一個Web應用程序,並計劃每30分鐘使用最新的\ fresh數據更新地圖,然後保存到緩存。我使用Spring已經爲我的網站,所以我認爲這個註釋將是一個很好的使用,它會很容易,但我有點困惑如何適當地有這個計劃的方法調用。我知道創建一個創建Interface \ Service並使用它的步驟,但在完成後臺運行任務後,此更新信息如何返回到View?在這個意義上,我的應用程序會更新地圖...使用Spring計劃註解和更新視圖

我在Java和與Android框架,數據在另一個線程處理之前使用普通異步任務,則可以訪問\或內部方法返回但我正在努力尋找一種方法來讓我的方法自動啓動,同時也讓數據返回到視圖。我已經閱讀了Spring文檔並查看了各種教程,但是缺少一些斷開連接。幾乎所有使用打印後調度註釋來控制我的中心問題的蜿蜒曲折的例子。我如何從這個自動運行的函數獲取數據回到我的視圖?以下是我下面非常有限的代碼。

任何幫助將極大地解釋如何工作的理解。我覺得一旦我「明白了」或者明白如何做到這一點,它實際上並不會很難。只是有麻煩纏繞它在我的頭上。

public class CallDBSteps { 

    @Scheduled(cron="*/2 * * * * MON-FRI") 
    public void updateMapItems(){ 
     System.out.println("Started cron job"); 
     /** 
     * Call method 1 
     * Call method 2 
     * Call method 3 
     * Return how? return to view, what? 
     */ 

    } 
} 
+1

怎麼樣只是有一個'公共static'數據結構/變量,可以通過'updateMapItems'得到更新並通過任何客戶 –

+0

Hmmmm讀,我想在技術上,將工作。我真的沒有想到這個選擇,並且絕對不反對它。所以基本上我調用我需要的方法,一旦完成,將結果賦給靜態變量。一旦發生這種情況,我認爲我可以調用一個方法來添加靜態變量並返回到View? – Tastybrownies

回答

1

要從服務器在30分鐘瀏覽器和服務器之間的連接必須保持的時間間隔的數據發送到客戶端(連接開),它不是這種情況時,我們做出HTTP請求。因此,如果兩個r都連接,webSocket.io會爲此提供解決方案,但要在一定的時間間隔內從服務器發送到客戶端。 但在你的情況下,我認爲民意調查(ajax調用)將符合要求。

1

如果你的網絡是基於HTTP/1.1,你可以輪詢服務與ajax.Otherwise新的數據,更新HTTP/1.1爲HTTP/2.0或Web插槽。