You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2007/08/15 01:31:49 UTC
svn commit: r565968 - in
/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine:
BpelProcess.java NStateLatch.java
Author: mriou
Date: Tue Aug 14 16:31:48 2007
New Revision: 565968
URL: http://svn.apache.org/viewvc?view=rev&rev=565968
Log:
Latch was swallowing exceptions.
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/NStateLatch.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?view=diff&rev=565968&r1=565967&r2=565968
==============================================================================
--- 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 Tue Aug 14 16:31:48 2007
@@ -147,8 +147,8 @@
* @param mex
*/
void invokeProcess(MyRoleMessageExchangeImpl mex) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
PartnerLinkMyRoleImpl target = getMyRoleForService(mex.getServiceName());
if (target == null) {
String errmsg = __msgs.msgMyRoleRoutingFailure(mex.getMessageExchangeId());
@@ -285,8 +285,8 @@
* @see org.apache.ode.bpel.engine.BpelProcess#handleWorkEvent(java.util.Map<java.lang.String,java.lang.Object>)
*/
public void handleWorkEvent(Map<String, Object> jobData) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
markused();
if (__log.isDebugEnabled()) {
@@ -456,8 +456,8 @@
}
EndpointReference getInitialPartnerRoleEPR(OPartnerLink link) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
PartnerLinkPartnerRoleImpl prole = _partnerRoles.get(link);
if (prole == null)
throw new IllegalStateException("Unknown partner link " + link);
@@ -468,8 +468,8 @@
}
Endpoint getInitialPartnerRoleEndpoint(OPartnerLink link) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
PartnerLinkPartnerRoleImpl prole = _partnerRoles.get(link);
if (prole == null)
throw new IllegalStateException("Unknown partner link " + link);
@@ -480,8 +480,8 @@
}
EndpointReference getInitialMyRoleEPR(OPartnerLink link) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
PartnerLinkMyRoleImpl myRole = _myRoles.get(link);
if (myRole == null)
throw new IllegalStateException("Unknown partner link " + link);
@@ -496,8 +496,8 @@
}
PartnerRoleChannel getPartnerRoleChannel(OPartnerLink partnerLink) {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
PartnerLinkPartnerRoleImpl prole = _partnerRoles.get(partnerLink);
if (prole == null)
throw new IllegalStateException("Unknown partner link " + partnerLink);
@@ -531,9 +531,8 @@
* Ask the process to dehydrate.
*/
void dehydrate() {
- _hydrationLatch.latch(0);
-
try {
+ _hydrationLatch.latch(0);
// We don't actually need to do anything, the latch will run the doDehydrate method
// when necessary..
} finally {
@@ -543,9 +542,8 @@
}
void hydrate() {
- _hydrationLatch.latch(1);
-
try {
+ _hydrationLatch.latch(1);
// We don't actually need to do anything, the latch will run the doHydrate method
// when necessary..
} finally {
@@ -554,8 +552,8 @@
}
OProcess getOProcess() {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
return _oprocess;
} finally {
_hydrationLatch.release(1);
@@ -563,8 +561,8 @@
}
private Map<Endpoint, PartnerLinkMyRoleImpl> getEndpointToMyRoleMap() {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
return _endpointToMyRoleMap;
} finally {
_hydrationLatch.release(1);
@@ -572,8 +570,8 @@
}
public ReplacementMap getReplacementMap() {
- _hydrationLatch.latch(1);
try {
+ _hydrationLatch.latch(1);
return _replacementMap;
} finally {
_hydrationLatch.release(1);
Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/NStateLatch.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/NStateLatch.java?view=diff&rev=565968&r1=565967&r2=565968
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/NStateLatch.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/NStateLatch.java Tue Aug 14 16:31:48 2007
@@ -19,6 +19,9 @@
package org.apache.ode.bpel.engine;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -32,12 +35,11 @@
* can change state only when the count is zero. Every time the latch changes state an
* optional {@link Runnable} corresponding to the new state is executed.
*
- *
* @author Maciej Szefler ( m s z e f l e r @ g m a i l . c o m )
- *
*/
public class NStateLatch {
-
+ static final Log __log = LogFactory.getLog(NStateLatch.class);
+
/** Current state. */
private int _state = -1;
@@ -72,7 +74,6 @@
_lock.lock();
try {
-
if (_transitioning )
throw new IllegalStateException("Manipulating latch from transition. ");
@@ -86,21 +87,13 @@
try {
_transitioning = true;
_transitions[state].run();
- } catch (Throwable t) {
- t.printStackTrace();
} finally {
_transitioning = false;
+ _depth ++;
}
-
-
_state = state;
-
}
}
-
- _depth ++;
-
-
} finally {
_lock.unlock();
}
@@ -114,7 +107,7 @@
throw new IllegalStateException("Manipulating latch from transition. ");
if (_state != state)
- throw new IllegalStateException("Wrong state.");
+ __log.error("Latch error, was releasing for state " + state + " but actually in " + _state);
if (_depth <= 0)
throw new IllegalStateException("Too many release() calls.");