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>()
{
@Override
public Void execute() throws Throwable
{
// Zap our test folders // Zap our test folders
if(folder1 != null) { if( folder1 != null)
{
nodeService.deleteNode(folder1); nodeService.deleteNode(folder1);
} }
if(folder2 != null) { if (folder2 != null)
{
nodeService.deleteNode(folder2); nodeService.deleteNode(folder2);
} }
// Zap the destination folder, which may well contain entries transfered over which are locked
// Zap the destination folder, which may well contain if (destinationFolder != null)
// entries transfered over which are locked {
if(destinationFolder != null) {
lockService.unlock(destinationFolder, true); lockService.unlock(destinationFolder, true);
nodeService.deleteNode(destinationFolder); nodeService.deleteNode(destinationFolder);
} }
return null;
}
};
transactionService.getRetryingTransactionHelper().doInTransaction(cleanupCallback);
txn.commit(); RetryingTransactionCallback<Void> cleanupTargetCallback = new RetryingTransactionCallback<Void>()
txn = transactionService.getUserTransaction(); {
txn.begin(); @Override
public Void execute() throws Throwable
{
// Zap our test transfer target // Zap our test transfer target
try {
transferService.deleteTransferTarget(TRANSFER_TARGET); transferService.deleteTransferTarget(TRANSFER_TARGET);
} catch(TransferException e) {} return null;
}
txn.commit(); };
try
{
transactionService.getRetryingTransactionHelper().doInTransaction(cleanupTargetCallback);
}
catch (TransferException e)
{
// Ignore
}
} }