Proper retrying during ReplicationServiceIntegrationTest teardown

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@30430 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2011-09-12 14:04:01 +00:00
parent 5a689543ab
commit 0902840a2b

View File

@@ -194,35 +194,51 @@ public class ReplicationServiceIntegrationTest extends TestCase
} }
@Override @Override
protected void tearDown() throws Exception { protected void tearDown() throws Exception
UserTransaction txn = transactionService.getUserTransaction(); {
txn.begin(); RetryingTransactionCallback<Void> cleanupCallback = new RetryingTransactionCallback<Void>()
{
// Zap our test folders @Override
if(folder1 != null) { public Void execute() throws Throwable
nodeService.deleteNode(folder1); {
} // Zap our test folders
if(folder2 != null) { if( folder1 != null)
nodeService.deleteNode(folder2); {
} nodeService.deleteNode(folder1);
}
// Zap the destination folder, which may well contain if (folder2 != null)
// entries transfered over which are locked {
if(destinationFolder != null) { nodeService.deleteNode(folder2);
lockService.unlock(destinationFolder, true); }
nodeService.deleteNode(destinationFolder); // Zap the destination folder, which may well contain entries transfered over which are locked
} if (destinationFolder != null)
{
txn.commit(); lockService.unlock(destinationFolder, true);
txn = transactionService.getUserTransaction(); nodeService.deleteNode(destinationFolder);
txn.begin(); }
return null;
// Zap our test transfer target }
try { };
transferService.deleteTransferTarget(TRANSFER_TARGET); transactionService.getRetryingTransactionHelper().doInTransaction(cleanupCallback);
} catch(TransferException e) {}
RetryingTransactionCallback<Void> cleanupTargetCallback = new RetryingTransactionCallback<Void>()
txn.commit(); {
@Override
public Void execute() throws Throwable
{
// Zap our test transfer target
transferService.deleteTransferTarget(TRANSFER_TARGET);
return null;
}
};
try
{
transactionService.getRetryingTransactionHelper().doInTransaction(cleanupTargetCallback);
}
catch (TransferException e)
{
// Ignore
}
} }