diff --git a/src/activity/Activity.js b/src/activity/Activity.js index aeb8ed8a..11c07519 100644 --- a/src/activity/Activity.js +++ b/src/activity/Activity.js @@ -174,7 +174,7 @@ export default function Activity(Behaviour, activityDef, context) { type, ...(name ? {name} : undefined), ...(status ? {status} : undefined), - parent: cloneParent(parent), + parent: cloneParent({...override.parent, ...parent}), }; const flags = {isEnd, isStart, isSubProcess, isMultiInstance, isForCompensation, attachedTo, isTransaction}; diff --git a/src/process/ProcessExecution.js b/src/process/ProcessExecution.js index a4aca0af..21e884eb 100644 --- a/src/process/ProcessExecution.js +++ b/src/process/ProcessExecution.js @@ -69,6 +69,9 @@ export default function ProcessExecution(parentActivity, context) { const isRedelivered = executeMessage.fields.redelivered; executionId = executeMessage.content.executionId; + children.forEach(child => { + child.parent.executionId = executionId; + }); prepare(); stateMessage = cloneMessage(executeMessage); @@ -137,8 +140,8 @@ export default function ProcessExecution(parentActivity, context) { startActivities.forEach((a) => a.shake()); } - startActivities.forEach((activity) => activity.init()); - startActivities.forEach((activity) => activity.run()); + startActivities.forEach(activity => activity.init({parent: {executionId}})); + startActivities.forEach(activity => activity.run({parent: {executionId}})); postponed.splice(0); detachedActivities.splice(0);