[英]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.