如何在Seam 2中实现resourcebundle(messages.properties)的热重载

时间:2012-06-18 16:46:10

标签: java jsf seam resourcebundle seam2

我们仍然将Seam 2(2.2.GA)用于一个传统的webapp。我们有JRebel热重载所有的东西(xhtml,java),但不是i18n messages.properties。太烦人了!

那么,我们尝试了什么?我们尝试在调试模式(开发期间)中覆盖以下Seam的内置组件:

  • org.jboss.seam.core.ResourceLoader - @Name(“org.jboss.seam.core.resourceLoader”)
  • org.jboss.seam.international.Messages - @Name(“org.jboss.seam.international.messagesFactory”)
  • org.jboss.seam.core.ResourceBundle - @Name(“org.jboss.seam.core.resourceBundle”)

以下课程也被覆盖:

  • DynamicSeamResourceBundle扩展了org.jboss.seam.core.SeamResourceBundle(这样它就不再能够快速缓存包了,这是自己的连接缓存机制)
  • DynamicResourceBundleControl扩展ResourceBundle.Control(使用timeToLive = TTL_DONT_CACHE来覆盖Java的缓存行为)

当然,Seam会初始化和使用自定义组件,当然,每次尝试之前,属性文件都会更改bean。但所有的技巧都无济于事!可以在此处找到自定义代码的Idee:https://community.jboss.org/thread/184261

请帮助我!

1 个答案:

答案 0 :(得分:1)

您是否向JRebel论坛/支持报告了此问题?我确信它可以在JRebel-Seam集成中实现