繁体   English   中英

Spring AOP不会在Spring集成中触发Bean

[英]Spring AOP not triggering on bean in spring integration

我试图在我的Spring集成服务中的其中一个bean被调用之前获得一个方面来触发并做一些事情。 到目前为止,这是我的代码。

global-context.xml

<aop:aspectj-autoproxy/>
...
<bean class="com.ryanstull.spring.integration.DebugAdvice"/>

这是我的Spring集成管道中的bean

package com.ryanstull.spring.integration;

import org.springframework.integration.annotation.Transformer;

public class DebugTransformer{

    @Transformer
    public Object transformPayload(Object arg0) throws Exception{
        System.out.println("In debug transformer");
        return arg0;
    }
}

我的方面

@Aspect
public class DebugAdvice{

    public DebugAdvice(){
    }

    @Before("within(com.ryanstull.spring.integration..*) && execution(public * *(..))")
    public void tester(){
        System.out.println("Before Debug Transformer advice.");
    }
}

但是由于某种原因,每当我运行应用程序时,我只会看到“在调试转换器中”,并且似乎从未触发过我的建议。

另外,我正在使用Spring 3.2.3和Spring Integration 2.2.4的旧版应用程序

有趣; 如果转换器是POJO,则可以正常工作(例如,删除extends AbstractPayloadTransformer<Object,Object> )。

我们通常建议使用POJO,但如果要扩展AbstractPayloadTransformer ,则...

<aop:aspectj-autoproxy proxy-target-class="true" />

...作品。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM