我最近将应用程序从带有 AspectJ 1.8.10 的 Spring 4.3.x 和 JDK 8 升级到带有 Spring 5.3.x 和 AspectJ 1.9.20.1 的 JDK 17,并且事务注释似乎不起作用
在应用程序配置中有
<tx:annotation-driven transaction-manager="transactionManager" mode="aspectj"/>
<context:load-time-weaver/>
我尝试定义 AnnotationTransactionAspect,更改 AspectJ 版本,但似乎没有任何方法可以帮助解决此问题。
您是否阅读了发行说明的“在 Java 16+ 上使用 LTW” 部分?对于加载时编织,您需要将
--add-opens java.base/java.lang=ALL-UNNAMED
添加到 JVM 命令行。