[ 
https://issues.apache.org/jira/browse/CLK-306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13207652#comment-13207652
 ] 

Gilberto C Andrade edited comment on CLK-306 at 2/14/12 12:24 PM:
------------------------------------------------------------------

Have you seen that if you remove @Bindable annotation the test runs without 
MVEL exception as well. I think the @Bindable annotation is the problem.

To confirm that @Bindable can be the problem I'm quoting Mike Brock's idea of 
encapsulation: "But that's because the method is private, and MVEL only looks 
for properly accessible methods. MVEL has always respected class security and 
encapsulation rules."[1]

Regards,

Gilberto
[1] http://jira.codehaus.org/browse/MVEL-186
                
      was (Author: gilbertoca):
    Have you seen that if you remove @Bindable annotation the test runs without 
MVEL exception as well. I think the @Bindable annotation is the problem.
                  
> Replacing OGNL with MVEL
> ------------------------
>
>                 Key: CLK-306
>                 URL: https://issues.apache.org/jira/browse/CLK-306
>             Project: Click
>          Issue Type: New Feature
>          Components: core
>    Affects Versions: 1.4
>         Environment: Target Click 1.5
>            Reporter: Bob Schellink
>            Assignee: Bob Schellink
>             Fix For: 2.3.1
>
>         Attachments: expression-language-performance.rar, 
> expression-language-performance.zip
>
>
> I have been following both OGNL and MVEL (another expression language) 
> development the last couple of months. If we are going to make changes to 
> this here are some things you might find interesting:
> * OGNL 2.7.1 which is included in tapestry 4.1, now sports byte code 
> enhancement. This was added by one of the tapestry authors to make OGNL much 
> faster than its reflection mode. However in my testing 2.7.1 threw exceptions 
> every now and then. So still buggy.
> * MVEL (http://mvel.codehaus.org/) seems like a good replacement for OGNL. It 
> has good docs and is actively developed. They even fixed a bug I logged! Like 
> OGNL, MVEL also runs in two modes, either reflection or byte compiled. Unlike 
> OGNL, MVEL's reflection mode is faster than Click's reflection mode.
> I am no expert on this but according to the article below (from MVEL's 
> author), byte code enhancement have some problems in that generated classes 
> accumulate in java's perm space and will only be removed when their 
> classloader is removed.
> http://artexpressive.blogspot.com/2007/07/mvel-by-numbers-real-story.html
> So MVEL in reflection mode looks like an ideal solution here. The power of 
> OGNL with the performance of Click reflection.
> Table columns can again take advantage of expressions. For example to 
> aggregate a total for the row -> new Column("price * tax");

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to