【发布时间】:2008-10-01 07:34:43
【问题描述】:
我们使用 fmt:setBundle 从数据库加载资源包(我们扩展了 ResourceBundle 类来做到这一点)。 当我们修改数据库中的值时,我们必须重新加载 Web 服务器以在 Web 应用程序上显示新值。
有没有什么简单的方法可以在不重启网络服务器的情况下使用新值?
(我们确实不希望始终从数据库中查找值,但我们希望使缓存无效,例如通过调用特殊的“管理员”URL)
编辑:我们使用的是 JDK 1.4,所以我更喜欢那个版本的解决方案。 :)
【问题讨论】:
-
如果您不太依赖 ResourceBundle 类本身,那么 Spring 的 MessageSource 抽象提供了一种更灵活的方法,包括缓存和重新加载消息。它可以包装您的自定义 ResourceBundle。如有必要,您可以单独使用那部分 Spring API。
-
答案可能特定于您正在使用的 Servlet 包含(应用服务器),例如Tomcat 或 JBoss。哪一个?
-
我们使用 Tomcat 进行开发,但使用 Websphere Application Server 进行生产 (5.X)。
标签: java resources resourcebundle