diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2013-12-05 12:57:16 +0100 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2013-12-05 12:57:16 +0100 |
| commit | 37bb1907aca2a3246a7b5d759df79b7fd97c276f (patch) | |
| tree | 85d4d2a5e815c799a9592c410880c132bb6cd1bb /src/main/java/com/c2kernel/lifecycle/instance/Activity.java | |
| parent | d43164830403245353080f5d6f838ed9f56d9a35 (diff) | |
Add itemSysKey as a variable of the workflow during initialization.
Use this for creating the shared History map.
Lock event writing on the Workflow rather than the Activity to keep the
History in the transaction.
Diffstat (limited to 'src/main/java/com/c2kernel/lifecycle/instance/Activity.java')
| -rw-r--r-- | src/main/java/com/c2kernel/lifecycle/instance/Activity.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java index 54df25c..42ffe79 100644 --- a/src/main/java/com/c2kernel/lifecycle/instance/Activity.java +++ b/src/main/java/com/c2kernel/lifecycle/instance/Activity.java @@ -177,20 +177,21 @@ public class Activity extends WfVertex if (storeOutcome) {
Outcome newOutcome = new Outcome(newEvent.getID(), requestData, schema.docType, schema.docVersion);
- Gateway.getStorage().put(itemSysKey, newOutcome, this);
+ Gateway.getStorage().put(itemSysKey, newOutcome, getWf());
// update specific view if defined
if (viewName != null && !viewName.equals("")) {
Viewpoint currentView = new Viewpoint(itemSysKey, schema.docType, viewName, schema.docVersion, newEvent.getID());
- Gateway.getStorage().put(itemSysKey, currentView, this);
+ Gateway.getStorage().put(itemSysKey, currentView, getWf());
}
// update last view
Viewpoint currentView = new Viewpoint(itemSysKey, schema.docType, "last", schema.docVersion, newEvent.getID());
- Gateway.getStorage().put(itemSysKey, currentView, this);
+ Gateway.getStorage().put(itemSysKey, currentView, getWf());
}
- Gateway.getStorage().commit(this);
+ Gateway.getStorage().commit(getWf());
} catch (ClusterStorageException ex) {
Logger.error(ex);
+ Gateway.getStorage().abort(getWf());
throw new PersistencyException("Exception storing event data");
}
|
