当前位置: 首页 > 知识库问答 >
问题:

对事务提交执行操作

况嘉运
2023-03-14

我们使用HiberNate作为JPA提供程序。当其中一个实体更新时,我需要对Quartz计划执行一些更新。目前,该代码是在该实体的更新方法中调用的。但是,Quartz更改只有在事务成功提交时才会生效。

我考虑过实现一个实体监听器,但是我只想在实体被特定方法修改时执行这些更新,并且我不确定JPA实体监听器是否支持依赖注入,我需要依赖注入来获取对Quartz调度器的引用。

有没有办法以编程方式附加活动事务提交时的回调?

共有1个答案

唐星晖
2023-03-14

看看Spring的TransactionSynchronizationManager。

有关示例,请参见此处:

http://azagorneanu.blogspot.co.uk/2013/06/transaction-synchronization-callbacks.html

 类似资料:
  • 我正在尝试使用嵌入式野蝇运行我们的JPA单元测试。到目前为止,当我进行清洁时,我得到了以下步骤的工作 嵌入式wildfly将部署在项目的/target文件夹中 MSSQL数据库驱动程序将被部署并注册为驱动程序 arquillian创建一个包含所有必需依赖项的.war文件 arquillian将我的项目的.war部署到嵌入式wildfly,并在嵌入式wildfry上开始单元测试 现在我的问题是:当我

  • 在代码里事务提交后方法结束,此时数据库是否已经执行了事务?因为事务提交返回了成功说明数据库已经处理了这个事务提交,但是此时数据库实际是否已经有执行完成这个事务?还是代码里事务提交完成后数据库实际并没有执行完成,只是先返回了成功的信息?现在碰到一个情况是方法提交结束后另外一个程序立刻调用存储过程查询数据会出现查不到的情况。

  • 我在我的项目中做过类似的事情。我手动回滚事务,为此我插入了try-catch块并手动回滚catch块中的事务。现在我从method1调用method2,并将对象保存到method2()中的数据库中,但它不会将对象保存到数据库中。 我只是想知道什么是可能的解决方案,保存对象在方法2()在方法1()的faliure。 提前感谢。

  • 我的路线如下 我知道(A)处的JMS消费者将在每次轮询时分叉JMS事务,并附加到线程。(B)中的事务处理节点也将在交换到达那里并连接到线程后分叉JPA事务。 请在下面找到我的问题: > < li >能否将两个不同的事务附加到一个线程上(如上所示)? < li >如果是,哪一个应该被停职? < li> 上述路由的提交和回滚顺序应该是什么? 注:我没有从骆驼在行动第二版中找到任何明显的答案,所以请指导

  • 要并行或异步运行一些东西,我可以使用ExecutorService:

  • 问题内容: 我的页面上有一个表单。该表单包含一个文本框和一个提交按钮。 提交表单后,通过单击按钮或在文本框中按Enter,我要进行查找(在这种情况下,使用Bing Maps对邮政编码进行地理编码),然后像往常一样将表单提交到服务器。 我当前的方法是将提交事件的处理程序添加到一个表单中,然后在完成后调用Submit(),但是我无法使它正常工作,并且无法调试问题: 问题答案: 是你的朋友在这里。在完成