问题标签 [spring-aspects]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2180 浏览

spring - 您如何忽略 Maven 某些方面的 AspectJ 编译器警告

如果您将 AspectJ 编译器与诸如 Springs 之类的 Aspect 库一起使用,并且您没有任何与特定 Aspect 匹配的类,您会得到:

但是对于这个特定的项目,我不需要这个方面以及其他一些方面。

似乎您可以使用 -Xlint 配置警告,但看起来您只能关闭不匹配的建议的所有警告(adviceDidNotMatch=ignore)。我真正想做的是排除某些方面,例如org.springframework.orm.jpa.aspectj.JpaExceptionTranslatorAspect. 我似乎找不到排除一个方面的例子。

0 投票
2 回答
30034 浏览

aop - 从 ProceedingJoinPoint 检索参数值

在我的请求中,我有一个参数名称“accessToken”,如何从 ProceedingJoinPoint 获取请求参数值?

调用方法:

我想在 AOP 中获取这个访问令牌。

提前致谢。

0 投票
0 回答
763 浏览

aop - 如何在 WildFly 中定义切面和切入点?

我们正在从 JBoss 5 迁移到 WildFly 8.2。仍在使用 Spring 3.1。当应用程序启动时,突然找不到我们的任何方面。我们可能已经(部分地)解决了 XML 配置(通过放置更多通配符),但是基于注释的方面配置无法以相同的方式解决(方面本身没有通配符,因为这是带注释的类)。这是 Aspect 类定义:

在 WildFly 下启动此代码而不进行更改时,我们会收到此错误:

代码有什么问题吗?WildFly 与较旧的 jboss 有什么不同之处吗?

谢谢, 尼古拉

0 投票
1 回答
4888 浏览

spring - 春季测试@async方法

我正在尝试测试@AsyncSpring 的注释是否在我的项目中按预期工作。但事实并非如此。

我有这个测试:

如您所见,我正在打印当前线程的名称。包含该@Async方法的类是:

这里我在@Async方法内部打印当前线程的名字,名字和之前一样,main。所以它不起作用。

GlobalConfiguration 是:

并且在其中一个指定的包中有activityExecutor bean:

我做错了什么?

0 投票
0 回答
719 浏览

spring-aop - 如何使方面检测具有多个注释的方法

我有一个 spring 应用程序,我想使用方面来执行一些性能日志记录。

我只想记录使用@Measured 注释的方法,所以我创建了如下注释:

方面如下:

这适用于像这样的方法

现在我想注释一个已经用@RequestMapping注释的spring mvc控制器方法,但是apsect似乎没有检测到它。

我怎样才能让方面检测到这种方法?我正在使用上下文 xml 文件中定义的 spring aop 作为<aop:aspectj-autoproxy proxy-target-class="false"/>

0 投票
0 回答
469 浏览

spring - 无法在 Spring AOP 方面自动装配 Spring Bean

我创建了一个新的方面,它没有加载自动装配的 bean

自动装配的 bean 未加载并仅显示为 null。

春季版

0 投票
4 回答
30542 浏览

spring - spring autowired aop 循环依赖

我正在使用 java config@ComponentScan来初始化我的 bean 并@EnableAspectJAutoProxy(proxyTargetClass=true)使用 cglib 代理。

在这个项目中,我们有很多生成的服务在它们之间使用@Autowired. 它工作得很好。

但是,对于我添加的其中一些服务@Async(我也添加@EnableAsync(proxyTargetClass = true)到我的@Configuration课程中)。

之后,我得到:

我猜这是因为 Spring@Async在 AOP 创建代理之前使用方法注入服务。这可能是问题吗?我应该如何修复它?

为了试图澄清我的问题,假设我有:

@服务 A、B 和 C;

A 自动接线 B 和 C,B 自动接线 A 和 C,C 自动接线 A 和 B;

C 有一个标记为@Async 的方法。

Spring初始化applicationContext的时候,尝试初始化A,但是需要B&C,所以初始化了它们。但毕竟,AOP 尝试创建 C 的代理(因为 @Async),然后它检测到将 C 自动连接到 B 和 A 与 C 的代理不同,所以它失败了。

我希望这可以解释更多正在发生的事情。

0 投票
1 回答
544 浏览

java - AspectJExpressionPointcut 使用了错误的类加载器

我有一个 Java EE 应用程序,它包含在 Apache Felix 容器中运行的多个 OSGi 包。其中一个包负责加载 Spring 应用程序上下文。我在我的应用程序中使用 Spring AOP,我的包中出现以下错误:

这个问题的原因是我方面的pointcat中使用的类(com.somepackage.SomeClass)是由bundle ClassLoader加载的,但是AspectJExpressionPointcut将默认的ClassLoader传递给buildPointcutExpression()方法:

它对这个类(com.somepackage.SomeClass)一无所知。

0 投票
1 回答
2525 浏览

java - spring aop - 链接多个方面

我有两个方面,一个用于获取锁定@Around 调用,另一个用于去抖动方法调用。这些方面看起来像这样:

另一个看起来像这样:

完整代码:

https://github.com/rmalchow/debouncer-aspect/blob/master/src/main/java/com/skjlls/aspects/debounce/impl/DebounceAspect.java

https://github.com/rmalchow/lock-aspect/blob/master/src/main/java/com/skjlls/aspects/lock/impl/LockAspect.java

当我将@Debounce 和@Lock 都放在一个方法上时,我得到了这个异常:

这似乎与 spring aop 无法弄清楚接下来要调用的内容有关,这是另一个方面,而不是实际目标,我已经看到了 spring aop 2 和 3 的其他报告......但我正在使用:

0 投票
1 回答
491 浏览

java - Spring AOP:方面类未执行

我已经定义了在用户对象上调用 getFirstName() 方法时应该执行的方面。但它不会发生。

我的方面类:

我的应用程序上下文.xml:

我的测试课:

我的 aop.xml:

我的 pom.xml: