无法使AspectJ与JAX-RS服务一起使用

时间:2014-02-24 14:06:00

标签: java spring jax-rs aspectj

我正在尝试让AOP处理JAX-RS服务。它正在处理Spring注入的对象,但不是我的JAX-RS服务。我的假设是它不起作用,因为Jersey创建了我的JAX-RS对象,而不是Spring。如何让AOP处理我的JAX-RS服务?

以下是我如何宣布我的方面:

@Pointcut("execution (* com.ancestry.academy.api.user.UserService.*(..))")
public void apiMethods() {}

@Around("com.ancestry.academy.api.ApiAdvisor.apiMethods()")
public Object aroundApi(ProceedingJoinPoint pjp) throws Throwable
{
    System.out.println("User Service API called");

    return pjp.proceed();
}

@Pointcut("execution (* com.ancestry.academy.services.user.UserManagerImpl.*(..))")
public void serviceMethods() {}

@Around("com.ancestry.academy.api.ApiAdvisor.serviceMethods()")
public Object aroundService(ProceedingJoinPoint pjp) throws Throwable
{
    System.out.println("User Maanageer API called");

    return pjp.proceed();
}

第一个方面是我的JAX-RS服务,并且是不起作用的服务。第二个方面是在弹簧注入的bean上提供业务逻辑,它确实有效。

UserService没有什么特别之处,只是它扩展了SpringBeanAutowiringSupport。

我的spring XML文件中有<aop:aspectj-autoproxy/>

0 个答案:

没有答案