在Java中,如何在Web应用程序中动态重新加载资源包?

pau*_*reg 8 java resources resourcebundle

我们使用fmt:setBundle从数据库加载资源包(我们扩展了ResourceBundle类来做到这一点).当我们修改数据库中的值时,我们必须重新加载Web服务器以在Web应用程序上显示新值.

有没有简单的方法来使用新值而无需重新启动Web服务器?

(我们希望总是仰望从数据库的价值,但我们希望通过调用一个特殊的"管理员"的URL缓存失效,例如)

编辑:我们正在使用JDK 1.4,所以我更喜欢该版本的解决方案.:)

WMR*_*WMR 7

如果您正在使用JDK 1.6,则可以使用回调方法getTimeToLive()needsReload()ResourceBundle.Control中控制是否需要使用数据库中的新值加载包缓存.


小智 3

正如其他人在评论中指出的那样,您可能需要研究 Spring - 特别是ReloadableResourceBundleMessageSource