Would like some advice regarding using Decision Tables in DROOLS 5.6.0
Final.  We have decision tables with over 12,000 rows.   It is a basic
'look-up' table with 3 conditions and 2 actions.  The conditions are, for
example:   Company = X Dept = X   Class = X then value = X and log X.   When
I reduced the number of rows to approx. 500 . .. it works.

I have set the max memory in the JVM to 2 gigs.   We have tried compiling
the decision tables using the spreadsheet compiler as well as the decision
table compiler.

Below is the error when using the decision table compiler.   However, we get
the same PermGen space error with the spreadsheet compiler.

 

Obviously, we need to be able to have more than 500 rows in our decision
table(s).    Any advice would be appreciated.

 

Aug 14, 2014 6:33:09 PM com.macys.test.rules.engine.AttribDecisionTbl main 
INFO: found  <file:///c:\attribute-data.xls> file:c:\attribute-data.xls 
Aug 14, 2014 6:33:10 PM com.macys.test.test_drools.RuleRunner loadRules 
INFO: Loading file: log-rules.drl 
Aug 14, 2014 6:33:10 PM com.macys.test.test_drools.RuleRunner loadRuleFile 
INFO: found rule  <file:///\\log-rules.drl> file:log-rules.drl 
Aug 14, 2014 6:33:11 PM com.macys.test.test_drools.RuleRunner loadRules 
INFO: Loading file: AttributeRules-MDSLife-V1.xls 
Aug 14, 2014 6:33:11 PM com.macys.test.test_drools.RuleRunner loadExcelRules

INFO: found  <file:///\\AttributeRules-MDSLife-V1.xls>
file:AttributeRules-MDSLife-V1.xls 
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space 
        at java.lang.ClassLoader.defineClass1(Native Method) 
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
        at
org.drools.rule.JavaDialectRuntimeData$PackageClassLoader.fastFindClass(Java
DialectRuntimeData.java:624) 
        at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader
.java:254) 
        at
org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader
.java:237) 
        at
org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
        at
org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:434)

        at
org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:429)

        at
org.drools.rule.JavaDialectRuntimeData.onBeforeExecute(JavaDialectRuntimeDat
a.java:257) 
        at
org.drools.rule.DialectRuntimeRegistry.onBeforeExecute(DialectRuntimeRegistr
y.java:139) 
        at
org.drools.compiler.PackageBuilder.reloadAll(PackageBuilder.java:1202) 
        at
org.drools.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:951) 
        at
org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:938) 
        at
org.drools.compiler.PackageBuilder.addPackageFromDecisionTable(PackageBuilde
r.java:451) 
        at
org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:
715) 
        at
org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:5
1) 
        at
com.macys.test.test_drools.RuleRunner.loadExcelRules(RuleRunner.java:161) 
        at
com.macys.test.test_drools.RuleRunner.loadRules(RuleRunner.java:53) 
        at
com.macys.test.test_drools.RuleRunner.runStatelessRules(RuleRunner.java:217)

        at
com.macys.test.rules.engine.AttribDecisionTbl.main(AttribDecisionTbl.java:99
) 




_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to