fixing startup initialization
This commit is contained in:
@@ -24,6 +24,7 @@ import org.activiti.engine.delegate.event.ActivitiEvent;
|
||||
import org.activiti.engine.delegate.event.ActivitiEventListener;
|
||||
import org.activiti.engine.delegate.event.ActivitiEventType;
|
||||
import org.activiti.engine.impl.bpmn.behavior.NoneStartEventActivityBehavior;
|
||||
import org.activiti.engine.impl.context.Context;
|
||||
import org.activiti.engine.impl.persistence.entity.DeploymentEntity;
|
||||
import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
|
||||
import org.activiti.engine.impl.util.ProcessDefinitionUtil;
|
||||
@@ -268,9 +269,18 @@ public class MQProcessDefinitionMonitor implements ActivitiEventListener, Applic
|
||||
return true;
|
||||
}
|
||||
|
||||
private BpmnModel getBpmnModel(String processDefId) {
|
||||
if (Context.getProcessDefinitionHelper() == null) {
|
||||
// typically during initial startup
|
||||
return this.services.getRepositoryService().getBpmnModel(processDefId);
|
||||
} else {
|
||||
// we cannot use the RepositoryService to get the BpmnModel as it is not yet cached in TX
|
||||
return ProcessDefinitionUtil.getBpmnModel(processDefId);
|
||||
}
|
||||
}
|
||||
|
||||
protected ServiceTask findMqStartSubscribeTask(String processDefId) {
|
||||
// we cannot use the RepositoryService to get the BpmnModel as it is not yet cached in TX
|
||||
BpmnModel model = ProcessDefinitionUtil.getBpmnModel(processDefId);
|
||||
BpmnModel model = this.getBpmnModel(processDefId);
|
||||
StartEvent startElement = this.findMqPlainStartEvent(processDefId, model);
|
||||
if (startElement == null)
|
||||
return null;
|
||||
|
Reference in New Issue
Block a user