如何等待 JDO 中的事务结束?
How to wait for a Transaction ends in JDO?
我遇到了一个只有在最坏情况下才会发生的问题。前任。我有一个每分钟运行的作业
UpdateJobForAnObjectA:
PersistenceManager pm = Context.getPersistenceManager();
Transaction tx = pm.currentTransaction();
tx.begin();
update a collection of an ObjectA
tx.comit();
pm.close();
现在我有一个死锁(悲观策略)或一个乐观锁违规(乐观违规)如果在另一个段中我更新了一个objectA。我设置为 nonTransactionalRead 和 nonTransacionalWriete,但我仍然遇到死锁或违反光学锁的错误。但是有一种方法可以查看我是否可以等待交易结束?使用 JDO 和 KODO
您可以设置一个 Synchronization object on the Transaction,并使用它的方法在 txn commits/rolls 返回时得到通知。
我遇到了一个只有在最坏情况下才会发生的问题。前任。我有一个每分钟运行的作业
UpdateJobForAnObjectA:
PersistenceManager pm = Context.getPersistenceManager();
Transaction tx = pm.currentTransaction();
tx.begin();
update a collection of an ObjectA
tx.comit();
pm.close();
现在我有一个死锁(悲观策略)或一个乐观锁违规(乐观违规)如果在另一个段中我更新了一个objectA。我设置为 nonTransactionalRead 和 nonTransacionalWriete,但我仍然遇到死锁或违反光学锁的错误。但是有一种方法可以查看我是否可以等待交易结束?使用 JDO 和 KODO
您可以设置一个 Synchronization object on the Transaction,并使用它的方法在 txn commits/rolls 返回时得到通知。