The best way forward here is to use some smart packaging. Place rules exclusive to a customer in their own package. Different sets of shared rules can be placed in other packages.
You would for example define the kbases as follows:
<?xml version="1.0" encoding="UTF-8"?>
<kmodule
xmlns="http://jboss.org/kie/6.0.0/kmodule">
<kbase name="acme"
packages="com.dunder.rules.acme, com.dunder.rules.paper">
<ksession name="acmeSession" type="stateless"/>
</kbase>
<kbase name="pipepiper"
packages="com.dunder.rules.pipepiper, com.dunder.rules.paper">
<ksession name="piedpiperSession"type="stateless" />
</kbase>
</kmodule>
The above would have rules for "Acme" and "Pied Piper" while both using "Paper" rules.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…