You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2007/10/19 17:41:32 UTC
svn commit: r586504 - in
/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine:
BpelProcess.java BpelRuntimeContextImpl.java BpelServerImpl.java
Author: vanto
Date: Fri Oct 19 08:41:31 2007
New Revision: 586504
URL: http://svn.apache.org/viewvc?rev=586504&view=rev
Log:
fixing ODE-199 in trunk
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
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=586504&r1=586503&r2=586504&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 Fri Oct 19 08:41:31 2007
@@ -751,18 +751,10 @@
public void saveEvent(ProcessInstanceEvent event, ProcessInstanceDAO instanceDao) {
markused();
- List<String> scopeNames = null;
- if (event instanceof ScopeEvent) {
- scopeNames = ((ScopeEvent) event).getParentScopesNames();
- }
-
- boolean enabled = _pconf.isEventEnabled(scopeNames, event.getType());
- if (enabled) {
- if (instanceDao != null)
- saveInstanceEvent(event, instanceDao);
- else
- __log.debug("Couldn't find instance to save event, no event generated!");
- }
+ if (instanceDao != null)
+ saveInstanceEvent(event, instanceDao);
+ else
+ __log.debug("Couldn't find instance to save event, no event generated!");
}
void saveInstanceEvent(ProcessInstanceEvent event, ProcessInstanceDAO instanceDao) {
Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?rev=586504&r1=586503&r2=586504&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java Fri Oct 19 08:41:31 2007
@@ -48,6 +48,7 @@
import org.apache.ode.bpel.evt.ProcessInstanceStateChangeEvent;
import org.apache.ode.bpel.evt.ProcessMessageExchangeEvent;
import org.apache.ode.bpel.evt.ProcessTerminationEvent;
+import org.apache.ode.bpel.evt.ScopeEvent;
import org.apache.ode.bpel.iapi.BpelEngineException;
import org.apache.ode.bpel.iapi.ContextException;
import org.apache.ode.bpel.iapi.EndpointReference;
@@ -941,11 +942,19 @@
event.setProcessInstanceId(_dao.getInstanceId());
_bpelProcess._debugger.onEvent(event);
- // notify the listeners
- _bpelProcess._server.fireEvent(event);
+ //filter events
+ List<String> scopeNames = null;
+ if (event instanceof ScopeEvent) {
+ scopeNames = ((ScopeEvent) event).getParentScopesNames();
+ }
- // saving
- _bpelProcess.saveEvent(event, _dao);
+ if (_bpelProcess._pconf.isEventEnabled(scopeNames, event.getType())) {
+ // notify the listeners
+ _bpelProcess._server.fireEvent(event);
+
+ // saving
+ _bpelProcess.saveEvent(event, _dao);
+ }
}
/**
Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=586504&r1=586503&r2=586504&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Fri Oct 19 08:41:31 2007
@@ -690,8 +690,14 @@
void fireEvent(BpelEvent event) {
// Note that the eventListeners list is a copy-on-write array, so need
// to mess with synchronization.
- for (org.apache.ode.bpel.iapi.BpelEventListener l : _contexts.eventListeners) {
- l.onEvent(event);
+
+ for (org.apache.ode.bpel.iapi.BpelEventListener l : _contexts.eventListeners) {
+ try {
+ l.onEvent(event);
+ } catch (Throwable t) {
+ // catch all possible exceptions
+ __log.warn("Got an exception while notifying BpelEventListener '" + l + "'.", t);
+ }
}
}