Bug 1074962
| Summary: | unable to run all test scenarion after editing kmodule.xml | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Anantya Wibowo <anantya.wibowo> | ||||
| Component: | Business Central | Assignee: | Kris Verlaenen <kverlaen> | ||||
| Status: | CLOSED EOL | QA Contact: | Lukáš Petrovický <lpetrovi> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 6.0.0 | CC: | anantya.wibowo, kverlaen, trikkola | ||||
| Target Milestone: | ER5 | ||||||
| Target Release: | 6.1.0 | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2020-03-27 19:37:21 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Attachments: |
|
||||||
|
Description
Anantya Wibowo
2014-03-11 09:47:07 UTC
Is this in Eclipse? What changes do you do when you edit kmodule.xml? Could you attach a project that we can use to reproduce this issue? Created attachment 874236 [details]
project files containing all test and edited kmodule.xml
no. i edited from business-central web app on browser. I reproduced this on 6.0.1.CR2. Michael, it seems that when the test scenario is instantiating a ksession, it does not have the jbpm-flow jar in the classpath? Does the project have a dependency for jbpm-flow? How could it be expected to consume classes (org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler) in it, without the dependency? Two issues need resolving (by reporter): (1) Please explain how you expect to consume jBPM classes (org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler) without including the library as a project dependency (2) Please attach insurance-model.jar (needed by the project you've attached). Michael, I was able to reproduce this, simply adding the handler to the kmodule.xml and then running any rule scenario seems to introduce the issue. Note that the handler is available in jbpm-flow, and projects don't define dependencies to the core jars (they are assumed provided), so I would expect this to be available when running the scenario tests as well. "Note that the handler is available in jbpm-flow, and projects don't define dependencies to the core jars (they are assumed provided)". This understanding is incorrect. The classpath for projects is *only* themselves + dependencies. KIE does not handle either explicit *provided* scope dependencies nor implicit (as would be the case with your understanding). (In reply to Kris Verlaenen from comment #8) > Michael, I was able to reproduce this, simply adding the handler to the > kmodule.xml and then running any rule scenario seems to introduce the issue. > Note that the handler is available in jbpm-flow, and projects don't define > dependencies to the core jars (they are assumed provided), so I would expect > this to be available when running the scenario tests as well. There are two issues here: (1) The WIH definition needs to be corrected to just their FQCNs:- <workItemHandler type="org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler" name="Log"/><workItemHandler type="org.jbpm.process.workitem.bpmn2.ServiceTaskHandler" name="Service Task"/> (2) Use of the demo WIHs in the kmodule.xml can be solved *if* we include jbpm-flow.jar with the web application. However my question is *should* we bundle jbpm-flow just because the project attached to this BZ uses the demo WIHs? What if the project used a custom WIH? The applicable JAR would need to be included as a project dependency. Why is using the demo WIHs any different? IMO it's up to the user to include the applicable dependencies. It appears this could be an issue with "modules". jbpm-flow is included in both BRMS and BPMS's module definitions however the class "org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler" cannot be found by org.drools.compiler.kie.util.CDIHelper.wireListnersAndWIHs(). The reported error can be replicated with drools-wb (running in GWT's Hosted Mode, i.e. on Jetty). If I add org.jbpm:jbpm-flow as a dependency to the webapp (so it appears in WEB-INF/lib) the reported problem is fixed. Kris said he'd take a look at the module configuration. Jeremy, this was reported as a modules issue on 6.0, although it might already be solved, could you possibly try reproducing this on 6.2.x and if you can't reproduce move this issue to MODIFIED? Thanks! I've reproduced this with the current 6.3.0-SNAPSHOT builds on EAP6.3 and the error happens both with the fat war and the skinny war. This means it doesn't look like a modules problem. Reproduce by making a new (empty) project, add a default kbase and stateful ksession and then add the work item handler "Log" -> "org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler" Works fine with fat war, since modularized wars are being removed setting this to MODIFIED. BPMS 6.1.0.ER6 The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days |