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);
                 }
             }
         }