Merged HEAD-BUG-FIX (4.3/Cloud) to HEAD (4.3/Cloud)

64782: Merged V4.2-BUG-FIX (4.2.2) to HEAD-BUG-FIX (4.3/Cloud)
      64028: Merged DEV to V4.2-BUG-FIX (4.2.2) 
         61306: MNT-10537: BPM Models are filtered for CMIS getTypeDefinition
            Destroy the dictionary in WorkflowDeployer to clear dictionary registry caches.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@66186 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2014-04-02 19:51:16 +00:00
parent f418ae1c4f
commit 5a833ba4ac

View File

@@ -252,6 +252,8 @@ public class WorkflowDeployer extends AbstractLifecycleBean
{
userTransaction.begin();
boolean destroyDictionary = false;
// bootstrap the workflow models and static labels (from classpath)
if (models != null && resourceBundles != null && ((models.size() > 0) || (resourceBundles.size() > 0)))
{
@@ -261,6 +263,7 @@ public class WorkflowDeployer extends AbstractLifecycleBean
dictionaryBootstrap.setModels(models);
dictionaryBootstrap.setLabels(resourceBundles);
dictionaryBootstrap.bootstrap(); // also registers with dictionary
destroyDictionary = true;
}
// bootstrap the workflow definitions (from classpath)
@@ -300,6 +303,7 @@ public class WorkflowDeployer extends AbstractLifecycleBean
WorkflowDeployment deployment = workflowService.deployDefinition(engineId, workflowResource.getInputStream(),
mimetype, workflowResource.getFilename());
logDeployment(location, deployment);
destroyDictionary = true;
}
}
else
@@ -324,6 +328,30 @@ public class WorkflowDeployer extends AbstractLifecycleBean
deploy(nodeRef, false);
}
}
destroyDictionary = true;
}
if(destroyDictionary)
{
RetryingTransactionCallback<Void> work = new RetryingTransactionCallback<Void>()
{
public Void execute() throws Throwable
{
AuthenticationUtil.runAs(new RunAsWork<Object>()
{
public Object doWork()
{
dictionaryDAO.destroy();
return null;
}
}, authenticationContext.getSystemUserName());
return null;
}
};
transactionService.getRetryingTransactionHelper().doInTransaction(work, true, true);
}
userTransaction.commit();