-
New Feature
-
Resolution: Unresolved
-
Normal
-
None
-
6.0.1
JRebel (http://zeroturnaround.com/jrebel/) is a tool that adds support for hot class reloading to JVM. It can give quite a boost to productivy, as it can eliminite most reasons for redeploying. I tried it with ZK6 and simple MVVM project and it worked to some extent, but e.g. command method signature change failed:
III 30, 2012 1:33:43 ODP. org.zkoss.zk.ui.impl.UiEngineImpl handleError:1348
SEVERE: >>java.lang.NoSuchMethodError: cz/valvera/zk/zktest1/BeansViewModel.clicked()V
>> at cz.valvera.zk.zktest1.BeansViewModel.clicked(BeansViewModel.java)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:601)
>> at org.zkoss.bind.impl.ParamCall.call(ParamCall.java:108)
>> at org.zkoss.bind.impl.BinderImpl.doExecute(BinderImpl.java:1476)
>> at org.zkoss.bind.impl.BinderImpl.doCommand(BinderImpl.java:1249)
>> at org.zkoss.bind.impl.BinderImpl.access$1300(BinderImpl.java:92)
>> at org.zkoss.bind.impl.BinderImpl$CommandEventListener.onEvent(BinderImpl.java:1141)
(I attached simple project that demonstrates it.)
I discussed it with JRebel team member on JRebel's support forum and he suggested that ZK6 can be holding some class metadata cache and is trying to invoke method with old cached signature, is this true?