Uploaded image for project: 'ZK'
  1. ZK
  2. ZK-1212

disabling mvvm composer class method cache

XMLWordPrintable

    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • 6.0.1
    • Databind 2
    • zk6.0.1+spring3.1.1+hibernate3.6.8

      as showed in http://www.zkoss.org/forum/listComment/5322-ZK-and-JavaRebel
      I'm trying using JavaRebel with ZK and context is reloaded always.but when i try setting system property 'org.zkoss.zel.BeanELResolver.CACHE_SIZE' to '0' ,as is blow in zk.xml:
      <system-property>
      <name>org.zkoss.zel.BeanELResolver.CACHE_SIZE</name>
      <value>0</value>
      </system-property>
      ,it has no effect ,i look into the source code of BeanELResolver,find the following code:
      public ConcurrentCache(int size) {
      this.size = size;
      this.eden = new ConcurrentHashMap<K,V>(size);
      this.longterm = new WeakHashMap<K,V>(size);
      }
      ,it seem no use to set size to 0 for disabling the cache,when i set 'org.zkoss.zel.BeanELResolver.CACHE_SIZE' to -1, the cosole show following exception when i visit the zul page:
      java.lang.IllegalArgumentException
      at java.util.concurrent.ConcurrentHashMap.<init>(Unknown Source)
      at java.util.concurrent.ConcurrentHashMap.<init>(Unknown Source)
      at org.zkoss.zel.BeanELResolver$ConcurrentCache.<init>(BeanELResolver.java:411)
      at org.zkoss.zel.BeanELResolver.<init>(BeanELResolver.java:63)
      at org.zkoss.xel.zel.XelELResolver.<clinit>(XelELResolver.java:49)
      at org.zkoss.bind.xel.zel.BindELContext.newELResolver(BindELContext.java:58)
      at org.zkoss.xel.zel.XelELContext.<init>(XelELContext.java:47)
      at org.zkoss.bind.xel.zel.BindELContext.<init>(BindELContext.java:54)
      at org.zkoss.bind.xel.BindXelFactory.newELContext(BindXelFactory.java:36)
      at org.zkoss.bind.xel.BindXelFactory.parseExpression(BindXelFactory.java:30)
      at org.zkoss.bind.impl.BindEvaluatorXImpl.parseExpressionX(BindEvaluatorXImpl.java:69)
      at org.zkoss.bind.impl.BindEvaluatorXUtil.eval(BindEvaluatorXUtil.java:54)
      at org.zkoss.bind.BindComposer.initViewModel(BindComposer.java:146)
      at org.zkoss.bind.BindComposer.doAfterCompose(BindComposer.java:116)
      at org.zkoss.zk.ui.impl.UiEngineImpl.doAfterCompose(UiEngineImpl.java:526)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild0(UiEngineImpl.java:821)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:767)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:676)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreateChild(UiEngineImpl.java:738)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate0(UiEngineImpl.java:698)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execCreate(UiEngineImpl.java:640)
      at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:391)
      i post a request for disabling mvvm composer class method cache.

            Unassigned Unassigned
            yaminglin1977 yaminglin1977
            Votes:
            1 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: