[jboss-jira] [JBoss JIRA] (DROOLS-1044) KieBase 'includes' does not handle the inclusion of KieBases that use the same package-names correctly.

Mario Fusco (JIRA) issues at jboss.org
Thu Jan 28 05:01:00 EST 2016


    [ https://issues.jboss.org/browse/DROOLS-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13154935#comment-13154935 ] 

Mario Fusco commented on DROOLS-1044:
-------------------------------------

The problem is a bit more complex because not only that the 2 KieBases have to declare the same package names, but also the 2 drl files have exactly the same name. I'm still investigating on this issue, but one possible workaround is to at least give 2 different name to the 2 drl files.

> KieBase 'includes' does not handle the inclusion of KieBases that use the same package-names correctly.
> -------------------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-1044
>                 URL: https://issues.jboss.org/browse/DROOLS-1044
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 6.4.0.Beta1
>         Environment: Mac OS X 10.11.3, Oracle Hotspot 1.8.0_45
>            Reporter: Duncan Doyle
>            Assignee: Mario Fusco
>
> KieBase 'includes' does not handle the inclusion of KieBases that use the same package-names correctly.
> I define 2 KJARs, each with a kmodule.xml that defines a KieBase. KJAR1 has a dependency on KJAR2 in its pom.xml.
> The KieBase defined in KJAR1 includes the KieBase defined in KJAR2.
> If the KieBases get their Drools Resources (e.g. .drl) from different packages (e.g. 'rules' and 'rules2', everything works fine, e.g.:
> KJAR1 kmodule.xml:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
> 	<kbase name="kbase1" equalsBehavior="equality" default="true" packages="rules" includes="kbase2">
> 		<ksession name="ksession1" default="true" type="stateful"/>
> 	</kbase>
> </kmodule>
> {code}
> KAJR2 kmodule.xml:
> {code:xml}
> <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
> 	<kbase name="kbase2" equalsBehavior="equality" default="false" packages="rules2">
> 		<ksession name="ksession2" default="false" type="stateful"/>
> 	</kbase>
> </kmodule>
> {code}
> However, when both KieBases use the same "packages" name (e.g. 'rules'), only one of the resources gets included in the final KieBase.
> KJAR1 kmodule.xml:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8"?>
> <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
> 	<kbase name="kbase1" equalsBehavior="equality" default="true" packages="rules" includes="kbase2">
> 		<ksession name="ksession1" default="true" type="stateful"/>
> 	</kbase>
> </kmodule>
> {code}
> KAJR2 kmodule.xml:
> {code:xml}
> <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
> 	<kbase name="kbase2" equalsBehavior="equality" default="false" packages="rules">
> 		<ksession name="ksession2" default="false" type="stateful"/>
> 	</kbase>
> </kmodule>
> {code}
> Unit tests with reproducer can be found here: https://github.com/DuncanDoyle/drools-kiebase-include-issue



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list