mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
Merged V2.2 to HEAD
7534: Merged V2.1 to HEAD 7398: XPath metadata extractor selector handles malformed and empty XML files 7401: Fix AR-1879: JBPM Timer never fires 7413: Contribution: Integrity checker ignores exceptions that would normally trigger transaction retries. 7416: AR-1884.Unicode wildcard processing. 7417: Added filtering of pseudo files when a partial wildcard search path is used, such as '*.csv'. AR-1889. 7436: AR-1863: major version's can now be created via the web service API; 7451: Fix for handling of UTF-8 application/x-www-form-urlencoded encoded form arguments as raised in support ticket 242 7458: Fix for AR-1900 7520: Fix to Template API where content was not retrievable from custom d:content properties on a node git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@8413 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -35,6 +35,7 @@ import org.alfresco.repo.node.NodeServicePolicies;
|
||||
import org.alfresco.repo.policy.JavaBehaviour;
|
||||
import org.alfresco.repo.policy.PolicyComponent;
|
||||
import org.alfresco.repo.transaction.AlfrescoTransactionSupport;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||
import org.alfresco.service.cmr.dictionary.AspectDefinition;
|
||||
import org.alfresco.service.cmr.dictionary.AssociationDefinition;
|
||||
import org.alfresco.service.cmr.dictionary.ClassDefinition;
|
||||
@@ -670,6 +671,24 @@ public class IntegrityChecker
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
// This means that integrity checking itself failed. This is serious.
|
||||
// There are some exceptions that can be handled by transaction retries, so
|
||||
// we attempt to handle these and let them get out to trigger the retry.
|
||||
// Thanks to Carina Lansing.
|
||||
Throwable retryThrowable = RetryingTransactionHelper.extractRetryCause(e);
|
||||
if (retryThrowable != null)
|
||||
{
|
||||
// The transaction will be retrying on this, so there's no need for the aggressive
|
||||
// reporting that would normally happen
|
||||
if (e instanceof RuntimeException)
|
||||
{
|
||||
throw (RuntimeException) e;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
e.printStackTrace();
|
||||
// log it as an error and move to next event
|
||||
IntegrityRecord exceptionRecord = new IntegrityRecord("" + e.getMessage());
|
||||
|
Reference in New Issue
Block a user