-->

春天工厂方法=“aspectOf”当我们部署RAD从应用程序无法正常工作(Spring factor

2019-10-22 06:17发布

我们使用AspectJ与Spring的支持。 我有如下宣布我的applicationContext.xml我的方面。

<context:annotation-config />
<context:spring-configured />
<context:component-scan base-package="com,com.util">
    <context:exclude-filter type="regex" expression="com.xyz*.*" />
</context:component-scan>
<bean id="xyz" class="com.util.XyzAspect" factory-method="aspectOf"/>

看点类:

@Configurable
@Aspect
public class XyzAspect {

 @Autowired
 private XyzUtil xyzUtil;

 @After("showPoint() ")
 public void logUser( JoinPoint pjp ) throws Throwable {
   Sysout("Some log Statement");
 }
}

它工作正常,当我做的Maven从命令提示符下建立和WebSphere应用服务器(7.0)手动部署EAR。 但是当我做从RAD7.5部署(的Rational Application Developer)管理控制台,它给“无匹配的工厂方法发现:工厂方法‘aspectOf’”的问题。

有人能做到充分的需要摆脱这个问题。 我也想从运行RAD的应用。 提前致谢。

Answer 1:

该方法aspectOf编织为您的XyzAspect通过AspectJ的。 我相信你使用编译时织,所以Maven的生产EAR正确地“打补丁”类的字节码XyzAspect因此部署确定。 如果你组装项目,IDE,类的字节码中缺少某些东西(它是Java源代码的精确表示为“未完成”)。 在织造的AspectJ的方面“转换”成单,也就是将静态变量来保存的唯一实例和方法( aspectOf )来获取唯一的实例。 看看这个线程 ,以获得更多的信息。



文章来源: Spring factory-method=“aspectOf” is not working when we deploy the application from RAD