Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用spring方面捕获提交操作_Java_Spring_Aspectj - Fatal编程技术网

Java 如何使用spring方面捕获提交操作

Java 如何使用spring方面捕获提交操作,java,spring,aspectj,Java,Spring,Aspectj,我是Spring方面的新手,我正在尝试用@Transactional方法捕获取消提交操作 这是我的班级结构: FacadeClass |_____ ServiceClass |_____ DaoClass 这3类是事务性的 @Transactional(propagation=Propagation.REQUIRES_NEW) |_____ @Transactional(propagation=Propagation.REQUIRED)

我是Spring方面的新手,我正在尝试用@Transactional方法捕获取消提交操作

这是我的班级结构:

FacadeClass
   |_____ ServiceClass
             |_____ DaoClass
这3类是事务性的

 @Transactional(propagation=Propagation.REQUIRES_NEW)
        |_____  @Transactional(propagation=Propagation.REQUIRED)
                       |_____  @Transactional(propagation=Propagation.MANDATORY)
因此,我试图在服务中启动一些事件,但前提是事务已提交。其想法是使用更新的objet通知其他应用程序,但只有在事务正常工作时才进行此更改

是否可以在一个方面中捕获带有更新对象的提交操作?即使交易在表面上遭到反对


谢谢

我建议不要为此使用AOP,而是使用
TransactionSynchronization
并注册它,实现
afterCommit
来执行您想要的操作。如果你需要这个对象,你可以用一个JPA事件监听器来代替。我发现这非常有趣。