我们正在使用 fmt:setBundle 从数据库加载资源包(我们扩展了 ResourceBundle 类来执行此操作)。 当我们修改数据库中的值时,我们必须重新加载网络服务器以在网络应用程序上显示新值。
有没有什么简单的方法可以在不重启网络服务器的情况下使用新值?
(我们不希望始终从数据库中查找值,但我们希望使缓存无效,例如通过调用特殊的“admin”URL)
编辑:我们使用的是 JDK 1.4,所以我更喜欢那个版本的解决方案。 :)
最佳答案
如果您使用的是 JDK 1.6,则可以使用 ResourceBundle.Control 中的回调方法 getTimeToLive()
和 needsReload()
控制是否需要使用数据库中的新值加载包缓存。
关于java - 在 Java 中,如何在 Web 应用程序中动态重新加载资源包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156586/