0

DCEVM for zero re-deploy time

asked 2018-08-01 00:51:24 +0800

cyiannoulis gravatar image cyiannoulis
1201 10

Hi to all,

We are evaluating DCEVM as an alternative to jRebel since jRebel decided to get more and more expensive every year. We have set up DCEVM for java 7 along with hotswap-agent-1.3 and it looks very good. Java hot swap understands almost every change, attributes, fields, static members, methods, constructors etc.

The only problem is with ZK and @Command annotations. Every time i try to change the command binding in the ZUL file or to add a @command method the system throws an exception that there is no convenient annotated method.

Does anybody else managed to make DCEVM work with ZK 7+ or 8+ ?

Thank you for your time

costas

delete flag offensive retag edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-08-06 14:54:36 +0800

cor3000 gravatar image cor3000
6280 2 7

I have tried that quite a while back, and also never succeeded with DCEVM. The @Command-methods are cached per class in BinderImpl (30 minutes, currently not configurable) so this could be a reason why this has no effect.

I haven't tested yet whether that's the case, it could depend on how DCEVM handles equality of changed/hot-reloaded classes. I'd set a breakpoint in BinderImpl.getCommandMethod(..) and check what actually happens, whether it's the class-equality still giving old results, or it simply doesn't hot-swap the method annotations during runtime.

link publish delete flag offensive edit

Comments

After spending some time on this i found that the problem is not related to ZK. The commands cache works fine. The problem is that after changing or adding a new @command in the VM class, the DCEVM reloads the class methods but with invalid @command annotations. So the command names are invalid.

cyiannoulis ( 2018-08-27 17:08:05 +0800 )edit

thanks for getting back sharing this extra information, I hope it helps others running into similar problems

cor3000 ( 2018-08-27 18:18:07 +0800 )edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
2 followers

RSS

Stats

Asked: 2018-08-01 00:51:24 +0800

Seen: 6 times

Last updated: Aug 06 '18

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More