details:   https://code.openbravo.com/erp/devel/pi/rev/5d6465124256
changeset: 26107:5d6465124256
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Mon Mar 02 13:59:01 2015 +0100
summary:   fixed issue 26794: some bg processes are restarted on Tomcat start

  Processes sheduled to be run immediatelly or executed from a button in the 
toolbar,
  that were in execution when Tomcat was stopped, were re-started next time 
Tomcat
  was started again.

  In these 2 cases now the process requests are marked as 'System Restart' not
  rescheduling them again.

diffstat:

 src/org/openbravo/scheduling/OBScheduler.java         |  11 ++++++++++-
 src/org/openbravo/scheduling/Process.java             |   4 +++-
 src/org/openbravo/scheduling/ProcessRequest_data.xsql |   6 +++---
 3 files changed, 16 insertions(+), 5 deletions(-)

diffs (79 lines):

diff -r d954e7171ce7 -r 5d6465124256 
src/org/openbravo/scheduling/OBScheduler.java
--- a/src/org/openbravo/scheduling/OBScheduler.java     Mon Mar 02 15:03:54 
2015 +0100
+++ b/src/org/openbravo/scheduling/OBScheduler.java     Mon Mar 02 13:59:01 
2015 +0100
@@ -11,7 +11,7 @@
  * under the License.
  * The Original Code is Openbravo ERP.
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008-2014 Openbravo SLU
+ * All portions are Copyright (C) 2008-2015 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -262,6 +262,15 @@
 
       for (final ProcessRequestData request : data) {
         final String requestId = request.id;
+        if ("Direct".equals(request.channel)
+            || 
TriggerProvider.TIMING_OPTION_IMMEDIATE.equals(request.timingOption)) {
+          // do not re-schedule immediate and direct requests that were in 
execution last time
+          // Tomcat stopped
+          ProcessRequestData.update(getConnection(), Process.SYSTEM_RESTART, 
requestId);
+          log.debug(request.channel + " run of process id " + request.processId
+              + " was scheduled, marked as 'System Restart'");
+          continue;
+        }
         final VariablesSecureApp vars = 
ProcessContext.newInstance(request.obContext).toVars();
         try {
           final ProcessBundle bundle = ProcessBundle.request(requestId, vars, 
getConnection());
diff -r d954e7171ce7 -r 5d6465124256 src/org/openbravo/scheduling/Process.java
--- a/src/org/openbravo/scheduling/Process.java Mon Mar 02 15:03:54 2015 +0100
+++ b/src/org/openbravo/scheduling/Process.java Mon Mar 02 13:59:01 2015 +0100
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2009-2012 Openbravo SLU 
+ * All portions are Copyright (C) 2009-2015 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -43,6 +43,8 @@
 
   public static final String COMPLETE = "COM";
 
+  public static final String SYSTEM_RESTART = "SYR";
+
   public static final String PREVENT_CONCURRENT_EXECUTIONS = "PCE";
   public static final String PROCESS_NAME = "name";
   public static final String PROCESS_ID = "id";
diff -r d954e7171ce7 -r 5d6465124256 
src/org/openbravo/scheduling/ProcessRequest_data.xsql
--- a/src/org/openbravo/scheduling/ProcessRequest_data.xsql     Mon Mar 02 
15:03:54 2015 +0100
+++ b/src/org/openbravo/scheduling/ProcessRequest_data.xsql     Mon Mar 02 
13:59:01 2015 +0100
@@ -12,7 +12,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2001-2014 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2015 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -25,7 +25,7 @@
        SELECT AD_Process_Request_ID AS Id, AD_Process_ID AS Process_Id,
        AD_Client_ID AS Client, AD_Org_Id AS Organization, AD_User_ID AS UserId,
        IsRoleSecurity, Status, Channel, Ob_Context, Params, AD_Process_Set_Id,
-       IsGroup, AD_Process_Group_ID     
+       IsGroup, AD_Process_Group_ID, timing_option
        FROM AD_Process_Request
        WHERE AD_Process_Request_ID = ?
     ]]></Sql>
@@ -36,7 +36,7 @@
       <Sql><![CDATA[
        SELECT AD_Process_Request_ID AS Id, AD_Process_ID AS Process_Id,
        AD_Client_ID AS Client, AD_Org_Id AS Organization, AD_User_ID AS UserId,
-       IsRoleSecurity, Status, Channel, Ob_Context, AD_Process_Set_Id   
+       IsRoleSecurity, Status, Channel, Ob_Context, AD_Process_Set_Id, 
timing_option
        FROM AD_Process_Request
        WHERE Status = ?
     ]]></Sql>

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to