Red Hat Bugzilla – Bug 983536
default kbase and non default ksession combination is not included in kmodule.xml in resulting jar.
Last modified: 2014-08-06 16:06:10 EDT
Description of problem:
When I want to use a default kbase with ksessions defined by me then these will not be present in the resulting jar create in the build process.
Steps to reproduce:
1) create a project
2) switch to "knowledge base settings"
3) add a ksession (e.g. session1)
4) build the project
5) explore the kmodule.xml in the jar. it should contain a defaultKieSession and defaultStatelessKieSession.
Step 5 here might be wrong. It is possible to have a default KBase without any default KSessions.
So asking if step 5 is based on documentation or if there is any other reason to expect these two ksessions to be there?
the steps need to first create a kbase, before creating the ksession.
What happens is the UI insists you make atleast one kbase default. This is not actually necessary in the, system will work. The getKieBase() simply returns null, if there is no default. However enforcement actually can cause problems, if you have multiple jars on the class path, each publishing a default. This causes a conflict and the system will not load.
The correct way is to remove the kbase default enforcement, and leave it up to the user to select this. This will also add symmetry between the kbase and ksession.
Ok, default kbase is no longer forced.
Verified on ER7.
All combinations now show up in the jar as expected.