簡體   English   中英

定期更新WEB-INF中的文件,而無需重新啟動應用程序-Google App Engine

[英]Periodically update a file in WEB-INF without restarting application - Google App Engine

我在Google App Engine中的Java應用程序加載了存儲在/WEB-INF的白名單文件。 該文件在appengine-web.xml定義為資源文件:

<resource-files>
    <include path="/whitelist.txt" />
</resource-files>

當收到第一個GET請求時,將加載白名單。

但是,我想修改代碼,使白名單每15分鍾加載一次。 這樣,如果我對白名單文件(在WEB-INF/whitelist.txt )進行了任何更改,這些更改很快就會反映出來。

我嘗試將ScheduledExecutorService與Runnable任務一起使用,如此處https://stackoverflow.com/a/2249068/1244329所述 ,其中任務僅讀取文件。 但是, contextInitialized內部的任務永遠不會執行。 實際上,我認為我什至沒有使用contextInitialized方法。

我究竟做錯了什么? 我應該如何實施呢?

您可以使用cron作業來執行白名單文件加載。 請參閱使用Cron for Java計划任務

但是,您還有另一個問題:如果不部署更新的應用程序代碼就無法真正更改WEB-INF/whitelist.txt ,因此,如果不重新啟動應用程序就無法以這種方式刷新白名單信息。

您可以執行此操作,但是可以將文件存儲在其他位置,在該位置可以獨立於應用程序部署(例如,在GCS中)進行更新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM