我有一个属性文件,用于从中读取消息。我在我的应用程序中使用spring和hibernate。我使用以下代码加载属性文件
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8" />
<property name="cacheSeconds" value="1" />
</bean>
我已将cacheSeconds指定为1秒,因此每当我更改文件时,缓存都会刷新,因此我在屏幕上获取更改的值,但是每个邮件访问缓存都会检查上次修改的时间戳,但这对生产环境来说并不是很好 那么有什么方法可以随时更改我的文件,这些更改应该自动反映在缓存中? 提前致谢
答案 0 :(得分:2)
您可以使用JMX MBeans。它允许您在运行时更改属性。
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("org.jmxapp.tnt.jmx:type=ApplicationMessageMBean");
mbs.registerMBean(msg, name); // Registering MBeans
http://docs.oracle.com/javase/tutorial/jmx/mbeans/index.html