public synchronized void lockWorkflowInstance(WorkflowInstanceImpl workflowInstance) { WorkflowInstanceId workflowInstanceId = workflowInstance.getId(); if (lockedWorkflowInstanceIds.contains(workflowInstanceId)) { throw new RuntimeException("Process instance "+workflowInstanceId+" is already locked"); } lockedWorkflowInstanceIds.add(workflowInstanceId); LockImpl lock = new LockImpl(); lock.setTime(Time.now()); lock.setOwner(workflowEngineId); workflowInstance.setLock(lock); if (log.isDebugEnabled()) { log.debug("Locked process instance "+workflowInstanceId); } }
public void readLock(Job job, BasicDBObject dbLock) { if (dbLock!=null) { job.lock = new LockImpl(); job.lock.time = readTime(dbLock, TIME); job.lock.owner = readString(dbLock, OWNER); } }
protected LockImpl readLock(BasicDBObject dbLock) { if (dbLock==null) { return null; } LockImpl lock = new LockImpl(); lock.owner = readString(dbLock, Lock.OWNER); lock.time = readTime(dbLock, Lock.TIME); return lock; }
/** first part of starting a new workflow instance: creating the workflow instance and applying the trigger data */ public WorkflowInstanceImpl startInitialize(TriggerInstance triggerInstance) { WorkflowId workflowId = getLatestWorkflowId(triggerInstance); WorkflowImpl workflow = getWorkflowImpl(workflowId); LockImpl lock = new LockImpl(); lock.setTime(Time.now()); lock.setOwner(getId()); WorkflowInstanceId workflowInstanceId = triggerInstance.getWorkflowInstanceId(); if (workflowInstanceId==null) { workflowInstanceId = workflowInstanceStore.generateWorkflowInstanceId(); } WorkflowInstanceImpl workflowInstance = new WorkflowInstanceImpl( configuration, workflow, workflowInstanceId, triggerInstance, lock, triggerInstance.getTransientData()); if (log.isDebugEnabled()) log.debug("Created "+workflowInstance); if (workflow.trigger!=null) { workflow.trigger.applyTriggerData(workflowInstance, triggerInstance); } else { workflowInstance.setVariableValues(triggerInstance); } notifyWorkflowInstanceStarted(workflowInstance); return workflowInstance; }
protected LockImpl readLock(BasicDBObject dbLock) { if (dbLock==null) { return null; } LockImpl lock = new LockImpl(); lock.owner = readString(dbLock, Lock.OWNER); lock.time = readTime(dbLock, Lock.TIME); return lock; }
public void readLock(Job job, BasicDBObject dbLock) { if (dbLock!=null) { job.lock = new LockImpl(); job.lock.time = readTime(dbLock, TIME); job.lock.owner = readString(dbLock, OWNER); } }