[jboss-jira] [JBoss JIRA] (DROOLS-900) java.lang.IncompatibleClassChangeError error while using HashSets
Mario Fusco (JIRA)
issues at jboss.org
Wed Sep 2 04:36:05 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mario Fusco resolved DROOLS-900.
--------------------------------
Fix Version/s: 6.3.0.Final
Resolution: Done
Fixed by https://github.com/droolsjbpm/drools/commit/a2ab9d4b9
One minor performance suggestion: if I'm understanding correctly you're creating exactly the same constant sets of values again and again at each constraint evaluation. Consider to refactor this sets as static and final public fields of a Java class and refer to this fields in your constraints.
> java.lang.IncompatibleClassChangeError error while using HashSets
> -----------------------------------------------------------------
>
> Key: DROOLS-900
> URL: https://issues.jboss.org/browse/DROOLS-900
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 5.6.0.Final
> Reporter: Pravasis Pattnaik
> Assignee: Mario Fusco
> Priority: Minor
> Fix For: 6.3.0.Final
>
> Attachments: compiled-drl.txt, req.txt
>
>
> In the compiled drl file we were using (Sets.newHashSet(e1,e2,..)).contains(input) then we get an exception java.lang.IncompatibleClassChangeError: Class XYZ does not implement the requested interface java.util.Collection on large input sets.Here XYZ is our input ruleRequest to be evaluated. If I change it to Sets.newHashSet(e1,e2,..).contains(input) it fixes everything.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list