截取MVEL表达式中各个函数的输入输出
Intercept input and output of each function in an MVEL expression
我对 MVEL 很陌生。我想要实现的是记录表达式中每个函数的输入和输出。
例如,具有以下表达式
h.function1('value1') != h.function2('value2')
我要记录的是 function1
和 function2
的输入和输出值。我读到了 Interceptors。如果我理解正确,要添加拦截器,我需要将上面的表达式重写如下。
@Intercept h.function1('value1') != @Intercept h.function2('value2')
但是,我不能强迫我的用户添加 @Intercept
注释。
完成此任务的最佳方法是什么?我必须恢复 Spring AOP 吗? :(
这不是@Intercept 而是您在地图中放置的拦截名称。波纹管是@test注解。请在此处查看详细信息 https://github.com/mvel/mvel/blob/master/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
interceptors.put("test",
testInterceptor);
executeExpression(compileExpression("@test System.out.println('MIDDLE');",
null,
interceptors));
我对 MVEL 很陌生。我想要实现的是记录表达式中每个函数的输入和输出。
例如,具有以下表达式
h.function1('value1') != h.function2('value2')
我要记录的是 function1
和 function2
的输入和输出值。我读到了 Interceptors。如果我理解正确,要添加拦截器,我需要将上面的表达式重写如下。
@Intercept h.function1('value1') != @Intercept h.function2('value2')
但是,我不能强迫我的用户添加 @Intercept
注释。
完成此任务的最佳方法是什么?我必须恢复 Spring AOP 吗? :(
这不是@Intercept 而是您在地图中放置的拦截名称。波纹管是@test注解。请在此处查看详细信息 https://github.com/mvel/mvel/blob/master/src/test/java/org/mvel2/tests/core/CoreConfidenceTests.java
interceptors.put("test",
testInterceptor);
executeExpression(compileExpression("@test System.out.println('MIDDLE');",
null,
interceptors));