You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2012/07/17 15:32:16 UTC
svn commit: r1362485 -
/ofbiz/trunk/framework/service/src/org/ofbiz/service/job/JobManager.java
Author: jacopoc
Date: Tue Jul 17 13:32:16 2012
New Revision: 1362485
URL: http://svn.apache.org/viewvc?rev=1362485&view=rev
Log:
Removed an unnecessary synchronized block (because it was using as a lock the "this" instance and it was already inside of a synchronized method).
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=1362485&r1=1362484&r2=1362485&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 Tue Jul 17 13:32:16 2012
@@ -130,66 +130,63 @@ public class JobManager {
boolean pollDone = false;
while (!pollDone) {
- // an extra protection for synchronization, help make sure we don't get in here more than once
- synchronized (this) {
- boolean beganTransaction = false;
+ boolean beganTransaction = false;
- try {
- beganTransaction = TransactionUtil.begin();
- if (!beganTransaction) {
- Debug.logError("Unable to poll for jobs; transaction was not started by this process", module);
- return null;
- }
+ try {
+ beganTransaction = TransactionUtil.begin();
+ if (!beganTransaction) {
+ Debug.logError("Unable to poll for jobs; transaction was not started by this process", module);
+ return null;
+ }
- List<Job> localPoll = FastList.newInstance();
+ List<Job> localPoll = FastList.newInstance();
- // first update the jobs w/ this instance running information
- delegator.storeByCondition("JobSandbox", updateFields, mainCondition);
+ // first update the jobs w/ this instance running information
+ delegator.storeByCondition("JobSandbox", updateFields, mainCondition);
- // now query all the 'queued' jobs for this instance
- List<GenericValue> jobEnt = delegator.findByAnd("JobSandbox", updateFields, order, false);
- //jobEnt = delegator.findByCondition("JobSandbox", mainCondition, null, order);
-
- if (UtilValidate.isNotEmpty(jobEnt)) {
- for (GenericValue v: jobEnt) {
- DispatchContext dctx = getDispatcher().getDispatchContext();
- if (dctx == null) {
- Debug.logError("Unable to locate DispatchContext object; not running job!", module);
- continue;
- }
- Job job = new PersistedServiceJob(dctx, v, null); // TODO fix the requester
- try {
- job.queue();
- localPoll.add(job);
- } catch (InvalidJobException e) {
- Debug.logError(e, module);
- }
+ // now query all the 'queued' jobs for this instance
+ List<GenericValue> jobEnt = delegator.findByAnd("JobSandbox", updateFields, order, false);
+ //jobEnt = delegator.findByCondition("JobSandbox", mainCondition, null, order);
+
+ if (UtilValidate.isNotEmpty(jobEnt)) {
+ for (GenericValue v: jobEnt) {
+ DispatchContext dctx = getDispatcher().getDispatchContext();
+ if (dctx == null) {
+ Debug.logError("Unable to locate DispatchContext object; not running job!", module);
+ continue;
+ }
+ Job job = new PersistedServiceJob(dctx, v, null); // TODO fix the requester
+ try {
+ job.queue();
+ localPoll.add(job);
+ } catch (InvalidJobException e) {
+ Debug.logError(e, module);
}
- } else {
- pollDone = true;
}
+ } else {
+ pollDone = true;
+ }
- // nothing should go wrong at this point, so add to the general list
- poll.addAll(localPoll);
- } catch (Throwable t) {
- // catch Throwable so nothing slips through the cracks... this is a fairly sensitive operation
- String errMsg = "Error in polling JobSandbox: [" + t.toString() + "]. Rolling back transaction.";
- Debug.logError(t, errMsg, module);
- try {
- // only rollback the transaction if we started one...
- TransactionUtil.rollback(beganTransaction, errMsg, t);
- } catch (GenericEntityException e2) {
- Debug.logError(e2, "[Delegator] Could not rollback transaction: " + e2.toString(), module);
- }
- } finally {
- try {
- // only commit the transaction if we started one... but make sure we try
- TransactionUtil.commit(beganTransaction);
- } catch (GenericTransactionException e) {
- String errMsg = "Transaction error trying to commit when polling and updating the JobSandbox: " + e.toString();
- // we don't really want to do anything different, so just log and move on
- Debug.logError(e, errMsg, module);
- }
+ // nothing should go wrong at this point, so add to the general list
+ poll.addAll(localPoll);
+ } catch (Throwable t) {
+ // catch Throwable so nothing slips through the cracks... this is a fairly sensitive operation
+ String errMsg = "Error in polling JobSandbox: [" + t.toString() + "]. Rolling back transaction.";
+ Debug.logError(t, errMsg, module);
+ try {
+ // only rollback the transaction if we started one...
+ TransactionUtil.rollback(beganTransaction, errMsg, t);
+ } catch (GenericEntityException e2) {
+ Debug.logError(e2, "[Delegator] Could not rollback transaction: " + e2.toString(), module);
+ }
+ } finally {
+ try {
+ // only commit the transaction if we started one... but make sure we try
+ TransactionUtil.commit(beganTransaction);
+ } catch (GenericTransactionException e) {
+ String errMsg = "Transaction error trying to commit when polling and updating the JobSandbox: " + e.toString();
+ // we don't really want to do anything different, so just log and move on
+ Debug.logError(e, errMsg, module);
}
}
}