首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定期更新WEB中的文件而不重新启动应用程序- Google

定期更新WEB中的文件而不重新启动应用程序- Google
EN

Stack Overflow用户
提问于 2017-02-09 20:02:40
回答 1查看 46关注 0票数 0

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

代码语言:javascript
复制
<resource-files>
    <include path="/whitelist.txt" />
</resource-files>

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

但是,我想修改代码,以便每15分钟加载一次白名单()。这样,如果我对白名单文件做了任何更改(在WEB-INF/whitelist.txt),中,更改很快就会被反映出来)。

我尝试使用带有可运行任务的ScheduledExecutorService,如这里提到的,https://stackoverflow.com/a/2249068/1244329,其中的任务包括读取文件。但是,contextInitialized中的任务从未执行过。事实上,我认为我甚至没有触及contextInitialized方法。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-09 20:28:28

您可以使用cron作业来执行白名单文件加载。见用Cron为Java调度任务

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

您可以这样做,但是可以将文件存储在其他地方,在那里您可以独立于应用程序部署更新它,例如在GCS中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42145829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档