Java 定期更新WEB-INF中的文件而不重新启动应用程序-谷歌应用程序引擎

Java 定期更新WEB-INF中的文件而不重新启动应用程序-谷歌应用程序引擎,java,google-app-engine,servlets,Java,Google App Engine,Servlets,Google App Engine中的我的Java应用程序加载存储在/WEB-INF中的白名单文件。该文件在appengine-WEB.xml中定义为资源文件: 当收到第一个GET请求时,将加载白名单 但是,我想修改代码,使白名单每15分钟加载一次。这样,如果我对WEB-INF/whitelist.txt中的白名单文件进行任何更改,这些更改很快就会反映出来 我尝试将ScheduledExecutorService与此处提到的可运行任务一起使用,其中任务只包括读取文件。但是,contextInit

Google App Engine中的我的Java应用程序加载存储在/WEB-INF中的白名单文件。该文件在appengine-WEB.xml中定义为资源文件:

当收到第一个GET请求时,将加载白名单

但是,我想修改代码,使白名单每15分钟加载一次。这样,如果我对WEB-INF/whitelist.txt中的白名单文件进行任何更改,这些更改很快就会反映出来

我尝试将ScheduledExecutorService与此处提到的可运行任务一起使用,其中任务只包括读取文件。但是,contextInitialized内的任务永远不会执行。事实上,我认为我甚至没有使用contextInitialized方法


我做错了什么?我应该如何实现这一点?

您可以使用cron作业来执行白名单文件加载。看

但您还有另一个问题:如果不部署更新的应用程序代码,您实际上无法更改WEB-INF/whitelist.txt,因此,如果不重新启动应用程序,您实际上无法以这种方式刷新白名单信息


您可以这样做,但是通过将文件存储在其他位置,您可以在其他位置独立于应用程序部署进行更新,例如。

我认为Cron作业和GCS的组合可能会起作用。谢谢
<resource-files>
    <include path="/whitelist.txt" />
</resource-files>