本文整理汇总了C#中Spring.Transaction.Support.DefaultTransactionStatus.RollbackToHeldSavepoint方法的典型用法代码示例。如果您正苦于以下问题:C# DefaultTransactionStatus.RollbackToHeldSavepoint方法的具体用法?C# DefaultTransactionStatus.RollbackToHeldSavepoint怎么用?C# DefaultTransactionStatus.RollbackToHeldSavepoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Spring.Transaction.Support.DefaultTransactionStatus
的用法示例。
在下文中一共展示了DefaultTransactionStatus.RollbackToHeldSavepoint方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RollbackHeldSavepointSuccess
public void RollbackHeldSavepointSuccess()
{
ISavepointManager saveMgr = MockRepository.GenerateMock<ISavepointManager>();
string savepoint = "savepoint";
DefaultTransactionStatus status = new DefaultTransactionStatus(saveMgr, true, false, false, true, new object());
status.CreateAndHoldSavepoint(savepoint);
Assert.IsTrue(status.HasSavepoint);
Assert.AreEqual(savepoint, status.Savepoint);
status.RollbackToHeldSavepoint();
saveMgr.AssertWasCalled(x => x.RollbackToSavepoint(savepoint));
}
示例2: RollbackHeldSavepointSuccess
public void RollbackHeldSavepointSuccess()
{
MyMockTxnObjectSavepointMgr saveMgr = new MyMockTxnObjectSavepointMgr();
string savepoint = "savepoint";
saveMgr.SetExpectedSavepoint( savepoint );
saveMgr.SetSavepointToReturn( savepoint );
DefaultTransactionStatus status = new DefaultTransactionStatus( saveMgr , true, false, false, true, new object());
status.CreateAndHoldSavepoint( savepoint );
Assert.IsTrue( status.HasSavepoint );
Assert.AreEqual( savepoint, status.Savepoint );
status.RollbackToHeldSavepoint();
saveMgr.Verify();
}
示例3: RollbackHeldSavepointException
public void RollbackHeldSavepointException()
{
ISmartTransactionObject transaction = MockRepository.GenerateMock<ISmartTransactionObject>();
DefaultTransactionStatus stat = new DefaultTransactionStatus(transaction, true, false, false, true, new object());
stat.RollbackToHeldSavepoint();
}
示例4: ProcessRollback
private void ProcessRollback(DefaultTransactionStatus status)
{
try
{
try
{
TriggerBeforeCompletion(status);
if (status.HasSavepoint)
{
if (status.Debug)
{
log.Debug("Rolling back transaction to savepoint.");
}
status.RollbackToHeldSavepoint();
}
else if (status.IsNewTransaction)
{
if (status.Debug)
{
log.Debug("Initiating transaction rollback");
}
DoRollback(status);
}
else if (status.HasTransaction())
{
if (status.LocalRollbackOnly)
{
if (status.Debug)
{
log.Debug("Participating transaction failed - marking existing transaction as rollback-only");
}
}
DoSetRollbackOnly(status);
}
else
{
log.Debug("Should roll back transaction but cannot - no transaction available.");
}
}
catch (Exception)
{
TriggerAfterCompletion(status, TransactionSynchronizationStatus.Unknown);
throw;
}
TriggerAfterCompletion(status, TransactionSynchronizationStatus.Rolledback);
}
finally
{
CleanupAfterCompletion(status);
}
}
示例5: ProcessRollback
/**
* Process an actual rollback.
* The completed flag has already been checked.
* @param status object representing the transaction
* @throws TransactionException in case of rollback failure
*/
private void ProcessRollback(DefaultTransactionStatus status)
{
try
{
try
{
this.TriggerBeforeCompletion(status);
if (status.HasSavepoint)
{
if (status.Debug)
{
Logger.Debug("Rolling back transaction to savepoint");
}
status.RollbackToHeldSavepoint();
}
else if (status.IsNewTransaction)
{
if (status.Debug)
{
Logger.Debug("Initiating transaction rollback");
}
this.DoRollback(status);
}
else if (status.HasTransaction())
{
if (status.LocalRollbackOnly || this.globalRollbackOnParticipationFailure)
{
if (status.Debug)
{
Logger.Debug(
"Participating transaction failed - marking existing transaction as rollback-only");
}
this.DoSetRollbackOnly(status);
}
else
{
if (status.Debug)
{
Logger.Debug(
"Participating transaction failed - letting transaction originator decide on rollback");
}
}
}
else
{
Logger.Debug("Should roll back transaction but cannot - no transaction available");
}
}
catch (Exception ex)
{
this.TriggerAfterCompletion(status, TransactionSynchronizationStatus.Unknown);
throw;
}
this.TriggerAfterCompletion(status, TransactionSynchronizationStatus.Rolledback);
}
finally
{
this.CleanupAfterCompletion(status);
}
}
示例6: RollbackHeldSavepointException
public void RollbackHeldSavepointException()
{
DefaultTransactionStatus stat = new DefaultTransactionStatus( new MyMockTxnObject(), true, false, false, true, new object() );
stat.RollbackToHeldSavepoint();
}