You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mi...@apache.org on 2009/09/10 19:06:06 UTC
svn commit: r813516 -
/ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java
Author: midon
Date: Thu Sep 10 17:06:06 2009
New Revision: 813516
URL: http://svn.apache.org/viewvc?rev=813516&view=rev
Log:
ODE-568: deactivate endpoints only if the process is active
Modified:
ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java
Modified: ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java
URL: http://svn.apache.org/viewvc/ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java?rev=813516&r1=813515&r2=813516&view=diff
==============================================================================
--- ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java (original)
+++ ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/ODEWSProcess.java Thu Sep 10 17:06:06 2009
@@ -93,22 +93,27 @@
}
void deactivate() {
- // Deactivate all the my-role endpoints.
- for (Endpoint endpoint : _myEprs.keySet()) {
- // Deactivate the EPR only if there are no more references
- // to this endpoint from any (active) BPEL process.
- if (isShareable(endpoint)) {
- __log.debug("deactivating shared endpoint " + endpoint);
- if (!_sharedEps.decrementReferenceCount(endpoint)) {
+ // the BindingContext contains only the endpoints for the latest process version
+ if (org.apache.ode.bpel.iapi.ProcessState.ACTIVE.equals(_pconf.getState())) {
+ // Deactivate all the my-role endpoints.
+ for (Endpoint endpoint : _myEprs.keySet()) {
+ // Deactivate the EPR only if there are no more references
+ // to this endpoint from any (active) BPEL process.
+ if (isShareable(endpoint)) {
+ __log.debug("deactivating shared endpoint " + endpoint);
+ if (!_sharedEps.decrementReferenceCount(endpoint)) {
+ _contexts.bindingContext.deactivateMyRoleEndpoint(endpoint);
+ _sharedEps.removeEndpoint(endpoint);
+ }
+ } else {
+ __log.debug("deactivating non-shared endpoint " + endpoint);
_contexts.bindingContext.deactivateMyRoleEndpoint(endpoint);
- _sharedEps.removeEndpoint(endpoint);
}
- } else {
- __log.debug("deactivating non-shared endpoint " + endpoint);
- _contexts.bindingContext.deactivateMyRoleEndpoint(endpoint);
}
+ // TODO Deactivate all the partner-role channels
+ } else {
+ if (__log.isDebugEnabled()) __log.debug("pid " + _pid + " is not ACTIVE, no endpoints to deactivate");
}
- // TODO Deactivate all the partner-role channels
}
/**