Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 截取MVEL表达式中每个函数的输入和输出_Java_Interceptor_Mvel - Fatal编程技术网

Java 截取MVEL表达式中每个函数的输入和输出

Java 截取MVEL表达式中每个函数的输入和输出,java,interceptor,mvel,Java,Interceptor,Mvel,我是MVEL的新手。我试图实现的是在表达式中记录每个函数的输入和输出 例如,具有以下表达式 h.function1('value1') != h.function2('value2') 我试图记录的是function1和function2的输入和输出值。我读到了。如果我做得不对,为了添加和拦截器,我需要重写上面的表达式,如下所示 @Intercept h.function1('value1') != @Intercept h.function2('value2') 但是,我无法强制用户添加

我是MVEL的新手。我试图实现的是在表达式中记录每个函数的输入和输出

例如,具有以下表达式

h.function1('value1') != h.function2('value2') 
我试图记录的是
function1
function2
的输入和输出值。我读到了。如果我做得不对,为了添加和拦截器,我需要重写上面的表达式,如下所示

@Intercept h.function1('value1') != @Intercept h.function2('value2')
但是,我无法强制用户添加
@Intercept
注释


完成这项任务的最佳方式是什么?我必须恢复春季AOP吗(

不是@Intercept,而是您放在地图中的Intercept的名称。下面是@test annotation。请在此处查看详细信息


感谢您的回复。不过,您确认我必须在表达式中添加注释,才能使用专用MVEL完成任务,不是吗?是的,源代码中有doc(请查看doxygen中的方法compileExpression)
interceptors.put("test",
        testInterceptor);

 executeExpression(compileExpression("@test System.out.println('MIDDLE');",
        null,
        interceptors));