Author: vanto
Date: Wed Sep 8 16:54:24 2010
New Revision: 995146
URL: http://svn.apache.org/viewvc?rev=995146&view=rev
Log:
allowing BpelEventListeners to cancel persisting events.
Modified:
ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/evt/BpelEvent.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
Modified:
ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/evt/BpelEvent.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/evt/BpelEvent.java?rev=995146&r1=995145&r2=995146&view=diff
==============================================================================
--- ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/evt/BpelEvent.java
(original)
+++ ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/evt/BpelEvent.java Wed
Sep 8 16:54:24 2010
@@ -37,6 +37,8 @@ public abstract class BpelEvent implemen
* Bpel Event Context. In Event Listeners, use this to get Variable Data
*/
public transient EventContext eventContext;
+
+ public transient boolean _cancelEventPersisting = false;
private Date _timestamp = new Date();
@@ -57,7 +59,19 @@ public abstract class BpelEvent implemen
public void setTimestamp(Date tstamp) {
_timestamp = tstamp;
}
+
+ public void enableEventPersisting() {
+ _cancelEventPersisting = false;
+ }
+
+ public void disableEventPersisting() {
+ _cancelEventPersisting = true;
+ }
+ public boolean isEventPersistingCancelled() {
+ return _cancelEventPersisting;
+ }
+
public String toString() {
StringBuilder sb = new StringBuilder("\n" + eventName(this) + ":");
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?rev=995146&r1=995145&r2=995146&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
Wed Sep 8 16:54:24 2010
@@ -709,7 +709,7 @@ public class BpelProcess {
// notify the listeners
_engine.fireEvent(event);
- if (instanceDao != null)
+ if (instanceDao != null && !event.isEventPersistingCancelled())
instanceDao.insertBpelEvent(event);
else
__log.debug("Couldn't find instance to save event, no event
generated!");