Spring AOP + Spring WebFlow:动作执行属性是' map [[empty]]'

时间:2014-09-16 09:39:18

标签: java spring spring-mvc spring-webflow-2

我在webflow中有如下操作,

@Component(value = "xyzFlow")
public class XyzFlow extends MultiAction {

    public Event generateOtac(RequestContext context) {
        ..........
        ..........
        return success();
    }
}

相应的行动,

<action-state id="generateOtac">
    <evaluate expression="xyzFlow.generateOtac" />
    <transition on="success" to="otac" />
    <transition on="error" to="input" />
</action-state>

还定义了日志记录方面,

<aop:aspect ref="myLoggingAspect">
    <aop:pointcut id="cutLogging" expression="execution(* com.package.*.*(..))" />
    <aop:around pointcut-ref="cutLogging" method="log" />
</aop:aspect>

似乎,aop和webflow方法不能共存。 它扔错了,

HTTP状态500 - 请求处理失败;嵌套异常是org.springframework.webflow.execution.ActionExecutionException:异常抛出执行[AnnotatedAction @ 31fe8769 targetAction = com.package.XyzFlow@3a4c156,attributes = map [&#39;方法&#39; - &GT; &#39; generateOtac&#39;]]处于州&#39; generateOtac&#39;流动&#39; xyz-flow&#39; - 行动执行属性是地图[[空]]&#39;

我很难找到原因。但是一旦我删除了方面,所有的操作都开始工作了。

我有什么其他设置来解决这个问题吗?

Aspect代码,

public class LoggingAspect
{
    public Object log(ProceedingJoinPoint call) throws Throwable
    {
        System.out.println("logging aspect: entering method [" + call.toShortString()
                            +"] with param:"+ Arrays.asList(call.getArgs()) );

        Object point =  call.proceed();

        System.out.println("logging aspect: exiting method [" + call.toShortString()   
                            + "with return as:" +point);        

        return point;
    }

}

0 个答案:

没有答案