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