Author: jleroux
Date: Thu Oct 30 18:03:43 2014
New Revision: 1635567
URL: http://svn.apache.org/r1635567
Log:
Commit for https://issues.apache.org/jira/browse/OFBIZ-5843
Re-running the same load test with a service call proves that the problem was
not in the service call but only in the minilang implementation. So putting
back this part.
There are more work to do as suggested Scott on dev ML: the call could be done
in the same transaction right before committing, to reduce the amount of time
the lock is held. But for now it's enough
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
Modified:
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1635567&r1=1635566&r2=1635567&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
(original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
Thu Oct 30 18:03:43 2014
@@ -281,10 +281,15 @@ public class OrderServices {
normalizedItemQuantities.put(currentProductId,
currentQuantity.add(orderItem.getBigDecimal("quantity")));
}
- Map<String, Object> countContext = new HashMap<String,
Object>();
- countContext.put("productId", currentProductId);
- countContext.put("quantity",
orderItem.getBigDecimal("quantity"));
- countProductQuantityOrdered(ctx, countContext);
+ try {
+ // count product ordered quantities
+ // run this synchronously so it will run in the same
transaction
+ dispatcher.runSync("countProductQuantityOrdered",
UtilMisc.<String, Object>toMap("productId", currentProductId, "quantity",
orderItem.getBigDecimal("quantity"), "userLogin", userLogin));
+ } catch (GenericServiceException e1) {
+ Debug.logError(e1, "Error calling
countProductQuantityOrdered service", module);
+ return
ServiceUtil.returnError(UtilProperties.getMessage(resource_error,
+
"OrderErrorCallingCountProductQuantityOrderedService",locale) + e1.toString());
+ }
}
}