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