You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2012/08/09 11:26:40 UTC
svn commit: r1371119 -
/ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java
Author: adrianc
Date: Thu Aug 9 09:26:40 2012
New Revision: 1371119
URL: http://svn.apache.org/viewvc?rev=1371119&view=rev
Log:
JobManager bug fix - ensure consistent return value in poll method. Also some log message cleanups.
Modified:
ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java
Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java?rev=1371119&r1=1371118&r2=1371119&view=diff
==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java Thu Aug 9 09:26:40 2012
@@ -20,14 +20,13 @@ package org.ofbiz.service.job;
import java.io.IOException;
import java.sql.Timestamp;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.RejectedExecutionException;
-import javolution.util.FastList;
-
import org.ofbiz.base.util.Assert;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilDateTime;
@@ -147,12 +146,12 @@ public final class JobManager {
*/
protected List<Job> poll(int limit) {
assertIsRunning();
+ List<Job> poll = new ArrayList<Job>(limit);
DispatchContext dctx = getDispatcher().getDispatchContext();
if (dctx == null) {
Debug.logWarning("Unable to locate DispatchContext object; not running job!", module);
- return null;
+ return poll;
}
- List<Job> poll = FastList.newInstance();
// basic query
List<EntityExpr> expressions = UtilMisc.toList(EntityCondition.makeCondition("runTime", EntityOperator.LESS_THAN_EQUAL_TO, UtilDateTime.nowTimestamp()),
EntityCondition.makeCondition("startDateTime", EntityOperator.EQUALS, null),
@@ -176,7 +175,7 @@ public final class JobManager {
beganTransaction = TransactionUtil.begin();
if (!beganTransaction) {
Debug.logWarning("Unable to poll JobSandbox for jobs; transaction was not started by this process", module);
- return null;
+ return poll;
}
jobsIterator = delegator.find("JobSandbox", mainCondition, null, null, UtilMisc.toList("runTime"), null);
GenericValue jobValue = jobsIterator.next();
@@ -190,12 +189,13 @@ public final class JobManager {
jobValue = jobsIterator.next();
}
} catch (Throwable t) {
- String errMsg = "Error in polling JobSandbox: [" + t.toString() + "]. Rolling back transaction.";
+ poll.clear();
+ String errMsg = "Exception thrown while polling JobSandbox: ";
Debug.logWarning(t, errMsg, module);
try {
- TransactionUtil.rollback(beganTransaction, errMsg, t);
- } catch (GenericEntityException e2) {
- Debug.logWarning(e2, "[Delegator] Could not rollback transaction: " + e2.toString(), module);
+ TransactionUtil.rollback(beganTransaction, errMsg + t.getMessage(), t);
+ } catch (GenericEntityException e) {
+ Debug.logWarning(e, "Exception thrown while rolling back transaction: ", module);
}
} finally {
if (jobsIterator != null) {
@@ -208,8 +208,7 @@ public final class JobManager {
try {
TransactionUtil.commit(beganTransaction);
} catch (GenericTransactionException e) {
- String errMsg = "Transaction error trying to commit when polling and updating the JobSandbox: " + e.toString();
- Debug.logWarning(e, errMsg, module);
+ Debug.logWarning(e, "Transaction error trying to commit when polling and updating the JobSandbox: ", module);
}
}
return poll;