Openbravo Issue Tracking System - Openbravo ERP |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0035654 | Openbravo ERP | 00. Application dictionary | public | 2017-03-30 14:13 | 2017-09-21 16:49 |
|
Reporter | eduardo_Argal | |
Assigned To | caristu | |
Priority | high | Severity | major | Reproducibility | sometimes |
Status | closed | Resolution | fixed | |
Platform | | OS | 5 | OS Version | |
Product Version | | |
Target Version | | Fixed in Version | 3.0PR17Q4 | |
Merge Request Status | |
Review Assigned To | alostale |
OBNetwork customer | |
Web browser | |
Modules | Core |
Support ticket | |
Regression level | |
Regression date | |
Regression introduced in release | |
Regression introduced by commit | |
Triggers an Emergency Pack | No |
|
Summary | 0035654: module validation fails for killable BG processes using CDI |
Description | Export database task failing when trying to modify a BG process to be killable in case its classes make use of ie CDI.
The required java class uses weld and that makes export.database fail due to a validation |
Steps To Reproduce | install org.openbravo.retail.autocancelreservation module
set is as in development = 'Y'
go to dictionary and flag as killable VoidLayawaysBGProcess (Report and Process)
export database
Find error attached.
Process do implement killable interface |
Proposed Solution | |
Additional Information | |
Tags | No tags attached. |
Relationships | related to | feature request | 0029751 | 3.0PR15Q3 | closed | rafademiguel | It would be nice to have the ability to kill a background process |
|
Attached Files | KillableProcessError.txt (3,155) 2017-03-30 14:13 https://issues.openbravo.com/file_download.php?file_id=10624&type=bug |
|
Issue History |
Date Modified | Username | Field | Change |
2017-03-30 14:13 | eduardo_Argal | New Issue | |
2017-03-30 14:13 | eduardo_Argal | Assigned To | => platform |
2017-03-30 14:13 | eduardo_Argal | File Added: KillableProcessError.txt | |
2017-03-30 14:13 | eduardo_Argal | Modules | => Core |
2017-03-30 14:13 | eduardo_Argal | Triggers an Emergency Pack | => No |
2017-03-30 16:04 | shuehner | Issue Monitored: shuehner | |
2017-03-30 16:05 | shuehner | Note Added: 0095718 | |
2017-04-07 08:58 | alostale | Summary | Export database task failing when trying to modify a BG process to be killable => module validation fails for killable BG processes using CDI |
2017-04-07 08:58 | alostale | Description Updated | bug_revision_view_page.php?rev_id=14975#r14975 |
2017-04-07 08:59 | alostale | Status | new => acknowledged |
2017-09-06 13:03 | caristu | Relationship added | related to 0029751 |
2017-09-06 17:11 | hgbot | Checkin | |
2017-09-06 17:11 | hgbot | Note Added: 0098870 | |
2017-09-06 17:11 | hgbot | Status | acknowledged => resolved |
2017-09-06 17:11 | hgbot | Resolution | open => fixed |
2017-09-06 17:11 | hgbot | Fixed in SCM revision | => http://code.openbravo.com/erp/devel/pi/rev/b8e85d42ebbcbce3c676d8b625f35b9a12fc6db0 [^] |
2017-09-06 17:20 | caristu | Assigned To | platform => caristu |
2017-09-06 17:20 | caristu | Review Assigned To | => alostale |
2017-09-08 12:02 | alostale | Note Added: 0098903 | |
2017-09-08 12:02 | alostale | Status | resolved => closed |
2017-09-08 12:02 | alostale | Fixed in Version | => 3.0PR17Q4 |
2017-09-21 16:49 | hudsonbot | Checkin | |
2017-09-21 16:49 | hudsonbot | Note Added: 0099365 | |
Notes |
|
|
Looks like export.db classpath is not the full project.class.path causing Class.forName to fail to the some injection related class |
|
|
(0098870)
|
hgbot
|
2017-09-06 17:11
|
|
Repository: erp/devel/pi
Changeset: b8e85d42ebbcbce3c676d8b625f35b9a12fc6db0
Author: Carlos Aristu <carlos.aristu <at> openbravo.com>
Date: Wed Sep 06 17:09:53 2017 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/b8e85d42ebbcbce3c676d8b625f35b9a12fc6db0 [^]
fixes bug 35654: module validation fails for killable BG processes using CDI
The DatabaseValidator class uses Class.forName(className) to retrieve the class of the background processes and then determine if they implement the KillableProcess interface.
When using that method, the class is also initialized. This initialization failed in some cases with a java.lang.NoClassDefFoundError if the class was making use of weld (CDI).
As we don't need to initialize the background process class to determine if it implements the KillableProcess interface, we replace the usage of Class.forName(className) with Class.forName(className, false, classLoader). With the second argument the class initialization is prevented.
---
M src/org/openbravo/service/system/DatabaseValidator.java
---
|
|
|
|
|
|
|
|