【发布时间】:2012-02-28 12:37:32
【问题描述】:
我的 servlet 应用程序(java+tomcat)旨在提供在线城市 ID-温度映射。映射规则在 init() 函数中从磁盘上的文件加载。但是文件每天都会更新,所以我需要类似 reload 或 reinit 函数来将文件重新加载到内存中,而标准 servlet 不提供。 如何实施?谢谢!
【问题讨论】:
我的 servlet 应用程序(java+tomcat)旨在提供在线城市 ID-温度映射。映射规则在 init() 函数中从磁盘上的文件加载。但是文件每天都会更新,所以我需要类似 reload 或 reinit 函数来将文件重新加载到内存中,而标准 servlet 不提供。 如何实施?谢谢!
【问题讨论】:
启动时,以某种方式保存文件的时间戳。每隔一段时间,将保存的时间戳与文件的时间戳进行比较。如果文件较新,则重新加载文件。
您可以通过多种方式存储时间戳。例如,在应用程序上下文中缓存一个变量。或者,在启动时,创建一个带有当前时间的空文件,以便您知道上次加载文件的时间。使用空文件的时间戳作为参考值,并在重新加载时重新创建空文件。
【讨论】: