diff --git a/source/java/org/alfresco/repo/jscript/ScriptNode.java b/source/java/org/alfresco/repo/jscript/ScriptNode.java index faf93f67c9..a204655b07 100644 --- a/source/java/org/alfresco/repo/jscript/ScriptNode.java +++ b/source/java/org/alfresco/repo/jscript/ScriptNode.java @@ -63,6 +63,7 @@ import org.alfresco.repo.thumbnail.ThumbnailHelper; import org.alfresco.repo.thumbnail.ThumbnailRegistry; import org.alfresco.repo.thumbnail.script.ScriptThumbnail; import org.alfresco.repo.transaction.AlfrescoTransactionSupport; +import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.repo.version.VersionModel; import org.alfresco.repo.workflow.jscript.JscriptWorkflowInstance; import org.alfresco.scripts.ScriptException; @@ -2012,7 +2013,16 @@ public class ScriptNode implements Scopeable, NamespacePrefixResolverProvider if (nodeService.exists(this.nodeRef)) { - this.nodeService.deleteNode(this.nodeRef); + RetryingTransactionCallback deleteNode = new RetryingTransactionCallback() + { + @Override + public Void execute() throws Throwable + { + nodeService.deleteNode(nodeRef); + return null; + } + }; + services.getTransactionService().getRetryingTransactionHelper().doInTransaction(deleteNode, false, true); success = true; }