java – 在@Transactional方法之前和之后执行代码
发布时间:2020-12-15 08:41:56 所属栏目:Java 来源:网络整理
导读:我们有一个基于 Spring的应用程序,其服务层使用@Transactional进行注释.我们需要在某些事务方法之前和之后运行代码,原因如下: 我们需要根据密钥同步对方法的访问.线程需要在事务开始之前阻塞. 如果事务成功,我们需要在队列上发布消息. 选项似乎是: 使用与
我们有一个基于
Spring的应用程序,其服务层使用@Transactional进行注释.我们需要在某些事务方法之前和之后运行代码,原因如下:
>我们需要根据密钥同步对方法的访问.线程需要在事务开始之前阻塞. 选项似乎是: >使用与可在同步块中运行@Transactional方法的服务类似的方法创建一个类,并检查返回然后发布消息(由于AOP代理问题,需要单独的类).服务呼叫服务,不好,感觉就像一个解决方案. 我认为这是一个相当普遍的要求.可能我错过了一个选项5,这是显而易见的! 解决方法
除非你有一些特定的理由要避免AOP,否则我认为我会选择2.您的问题是AOP可以使用的典型示例,结果看起来相当不错.这是一个如何实现它的一个很好的例子(如果你还没有读过):
Advising transactional operations
如果AOP真的不是一个选项,我会选择@Lawrence McAlpin提出的’其他’选项. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |