Author: objectiser
Date: 2011-02-03 07:42:18 -0500 (Thu, 03 Feb 2011)
New Revision: 1297
Modified:
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Log:
RIFTSAW-304 - make persistence of the bpel events configurable, so if an event listener is
registered that processes the event in a different way (i.e. BPAF), then we don't get
additional redundant persisted information.
Modified:
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
===================================================================
---
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2011-02-03
11:15:05 UTC (rev 1296)
+++
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2011-02-03
12:42:18 UTC (rev 1297)
@@ -136,6 +136,9 @@
private ExternalVariableConf _extVarConf;
private ExternalVariableManager _evm;
+
+ /** Determine if BPEL events should be persisted, as well as distributed to event
listeners */
+ private boolean _persistBpelEvents=true;
public static final QName PROP_PATH = new QName("PATH");
public static final QName PROP_SVG = new QName("SVG");
@@ -582,6 +585,11 @@
}
return endpoints;
}
+
+ public void setPersistBpelEvents(boolean persist) {
+ _persistBpelEvents = persist;
+ __log.debug("Should persist BPEL events? "+persist);
+ }
void activate(BpelEngineImpl engine) {
_engine = engine;
@@ -710,10 +718,13 @@
// notify the listeners
_engine.fireEvent(event);
- if (instanceDao != null)
- instanceDao.insertBpelEvent(event);
- else
+ if (instanceDao != null) {
+ if (_persistBpelEvents) {
+ instanceDao.insertBpelEvent(event);
+ }
+ } else {
__log.debug("Couldn't find instance to save event, no event
generated!");
+ }
}
}
Modified:
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
===================================================================
---
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java 2011-02-03
11:15:05 UTC (rev 1296)
+++
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java 2011-02-03
12:42:18 UTC (rev 1297)
@@ -95,6 +95,8 @@
private static boolean DEFERRED_PROCESS_INSTANCE_CLEANUP_DISABLED =
Boolean.getBoolean(DEFERRED_PROCESS_INSTANCE_CLEANUP_DISABLED_NAME);
+ public final static String PERSIST_BPEL_EVENTS="persist.bpel.events";
+
/**
* Set of processes that are registered with the server. Includes hydrated and
dehydrated processes.
* Guarded by _mngmtLock.writeLock().
@@ -318,6 +320,9 @@
BpelProcess process = createBpelProcess(conf);
process._classLoader = Thread.currentThread().getContextClassLoader();
+ process.setPersistBpelEvents(_configProperties.getProperty(PERSIST_BPEL_EVENTS,
+ Boolean.TRUE.toString()).equalsIgnoreCase(Boolean.TRUE.toString()));
+
_engine.registerProcess(process);
_registeredProcesses.add(process);
if (!isLazyHydratable(process)) {
Show replies by date