Greatly improved over 1.2
MVEL is a powerful expression language for Java-based applications. It provides a plethora of features and is suited for everything from the smallest property binding and extraction, to full blown scripts.
MVEL 2.0 final has been released. The next version of MVEL greatly improves over the previousby adding a wide variety of new scripting abilities, performance improvementsand new static type checking facilities.
Heavy emphasis has been placed on reducing overhead of theparser and the runtime in this version. For some benchmarks on how MVEL performs see here: http://mvel.codehaus.org/Performance+of+MVEL+2.0
New features include:
New Dynamic JIT optimizer which only selectively generates bytecode when load exceeds a threshold that justifies code generation. This greatly reduces memory usage, and allows expressions that get heavy use to benefit from code generation, while allowing other lesser used expressions to simply rely on reflection where there would be little benefit to optimize further.
The new static type checking and generics support allows for the integration of type-safe expression (on both ingress and egress).
Significantly improved error reporting, with finer-grained error messages, including line and column information
New Scripting Language Features. MVEL 2.0 introduces function definition with closures, lambda definition, standard looping (for, while, do-while, do-until, etc.) constructs, null-safe navigation operator, inline with-context operator, variable existence (isdef) test operator, and more.
Improved Integration. By popular demand, MVEL 2.0 now supports type-based custom property resolvers, with support to hook into the JIT.
New, Faster Template Engine with support for inline template definition, macro definition and custom tag definition.
New interactive shell (MVELSH).
More information at: http://mvel.codehaus.org/.