mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
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:
@@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user