2015-04-07 79 views

回答

1

下面是一個例子,並在Java EE的環境要求:

    在wro.properties
  1. 以下屬性被施加:
cacheUpdatePeriod=0 
modelUpdatePeriod=0 
debug=false 
disableCache=true 
jmxEnabled=true 
... 
  • 不要嘗試用@PostConstruct在初始方法中應用@ Singleton/@ Startup註釋來更新ejb bean中的wro緩存模型a應用了nnotation。 Wro MBean尚未註冊,因此它不起作用。
  • 實施例本身:
  • try 
    { 
        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 
        ObjectName name = new ObjectName("wro4j-ROOT:type=WroConfiguration"); 
        mbs.invoke(name, "reloadCache", null, null); 
        mbs.invoke(name, "reloadModel", null, null); 
    } 
    catch (InstanceNotFoundException e) 
    { 
        logger.warn("Could not find wro4j MBean. It has not been initiated yet"); 
    } 
    catch (Exception e) 
    { 
        logger.error(e); 
    } 
    
    1

    jmxEnabled配置被設置爲true時,MBean被自動註冊。如果打開jconsole,應該看到一個名爲「wro4j-ROOT」的MBean(MBean名稱根據應用程序上下文名稱是動態的)。在那裏您應該找到名爲的操作reloadModel & reloadCache可以通過JMX觸發。

    除了使用JMX,我推薦使用以下配置:resourceWatcherUpdatePeriod(將此值設置爲大於0的值)。這在開發過程中很有用,在指定的時間間隔內即可檢測到任何更改。

    相關問題