Thanks for all answers. Finally I found the ticket for this issue: https://issues.jboss.org/browse/DROOLS-15
Despite all the great functionality in Drools, this bug makes me really afraid. I can live with bugs that throw exceptions or even crash the application. But simply returning a wrong value is the worst case I can imagine for an algorithmic library. Is this such a special case that it has no effect in every days use? I mean, this error occurs when starting one of the examples that are part of the release, that doesn't sound like a special case to me, isn't it? Please don't misunderstand me, I have a deep respect for the developer of such complex systems like DROOLS, and I know from my own code that bugs simply happen. But I wonder why there is still this version without any warning the official release? Is it better to use an older version? best regards Stefan 2013/4/18 Mark Proctor <[email protected]> > There are a lot of fixes in the 5.x master. Anyone verified their bugs > against this? I suspect this is fixed in that. > > > Mark > On 18 Apr 2013, at 16:21, Wolfgang Laun <[email protected]> wrote: > > > Ah, my memory :-) > > > > http://lists.jboss.org/pipermail/rules-dev/2013-January/004338.html > > > > Mark has promised a fix for 3 months ago, but of course 5.5.0 remains > broken. > > > > -W > > > > On 18/04/2013, Stefan Schuster <[email protected]> wrote: > >> Hi, thank you for your response. > >> I'm using the latest stable release of Drools 5.5.0 final. > >> Eclipse is Juno Service Release 2. > >> > >> Can you confirm, that the order 1,2,3 is the expected result? > >> > >> If this is a known bug, is there some kind of jira or bugzilla numer > >> assigned to it? > >> > >> > >> > >> 2013/4/18 Wolfgang Laun <[email protected]> > >> > >>> IIRC, this was a bug one or two minor versions ago. What version are > you > >>> using? > >>> -W > >>> > >>> On 18/04/2013, Stefan Schuster <[email protected]> wrote: > >>>> For the sake of completeness, here is also the RuleRunner class used > >>>> in > >>>> this example: > >>>> > >>>> package org.drools.tutorials.banking; > >>>> > >>>> import java.util.Collection; > >>>> > >>>> import org.drools.KnowledgeBase; > >>>> import org.drools.KnowledgeBaseFactory; > >>>> import org.drools.builder.KnowledgeBuilder; > >>>> import org.drools.builder.KnowledgeBuilderFactory; > >>>> import org.drools.builder.ResourceType; > >>>> import org.drools.definition.KnowledgePackage; > >>>> import org.drools.io.ResourceFactory; > >>>> import org.drools.runtime.StatefulKnowledgeSession; > >>>> > >>>> public class RuleRunner { > >>>> > >>>> public RuleRunner() { > >>>> } > >>>> > >>>> public void runRules(String[] rules, > >>>> Object[] facts) { > >>>> > >>>> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); > >>>> KnowledgeBuilder kbuilder = > >>>> KnowledgeBuilderFactory.newKnowledgeBuilder(); > >>>> > >>>> for ( int i = 0; i < rules.length; i++ ) { > >>>> String ruleFile = rules[i]; > >>>> System.out.println( "Loading file: " + ruleFile ); > >>>> kbuilder.add( ResourceFactory.newClassPathResource( > >>>> ruleFile, > >>>> > >>>> RuleRunner.class ), > >>>> ResourceType.DRL ); > >>>> } > >>>> > >>>> Collection<KnowledgePackage> pkgs = > >>>> kbuilder.getKnowledgePackages(); > >>>> kbase.addKnowledgePackages( pkgs ); > >>>> StatefulKnowledgeSession ksession = > >>>> kbase.newStatefulKnowledgeSession(); > >>>> > >>>> for ( int i = 0; i < facts.length; i++ ) { > >>>> Object fact = facts[i]; > >>>> System.out.println( "Inserting fact: " + fact ); > >>>> ksession.insert( fact ); > >>>> } > >>>> > >>>> ksession.fireAllRules(); > >>>> } > >>>> } > >>>> > >>>> > >>>> 2013/4/18 Stefan Schuster <[email protected]> > >>>> > >>>>> Hello, > >>>>> > >>>>> I have a problem with the banking tutorial number 3, which is part of > >>> the > >>>>> examples of drools expert. > >>>>> It simply adds some Numbers as facts, and retracts them in an > >>>>> increasing > >>>>> order. > >>>>> > >>>>> It is very short, therefore I post the whole Code: > >>>>> > >>>>> > >>>>> BankingExample3.java > >>>>> _________________________________________________ > >>>>> package org.drools.tutorials.banking; > >>>>> > >>>>> public class BankingExample3 { > >>>>> public static void main(String[] args) { > >>>>> Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(4), > >>>>> wrap(1), wrap(5)}; > >>>>> new RuleRunner().runRules( new String[] { "Example3.drl" }, > >>>>> numbers ); > >>>>> } > >>>>> > >>>>> private static Integer wrap(int i) { > >>>>> return new Integer(i); > >>>>> } > >>>>> } > >>>>> _________________________________________________ > >>>>> > >>>>> > >>>>> > >>>>> Example3.drl: > >>>>> _________________________________________________ > >>>>> package org.drools.tutorials.banking > >>>>> > >>>>> rule "Rule 01" > >>>>> when > >>>>> $number : Number() > >>>>> not Number( intValue < $number.intValue ) > >>>>> then > >>>>> System.out.println("Number found with value: " + > >>>>> $number.intValue() ); > >>>>> retract( $number ); > >>>>> end > >>>>> _________________________________________________ > >>>>> > >>>>> > >>>>> Output: > >>>>> _________________________________________________ > >>>>> Loading file: Example3.drl > >>>>> Inserting fact: 3 > >>>>> Inserting fact: 1 > >>>>> Inserting fact: 4 > >>>>> Inserting fact: 1 > >>>>> Inserting fact: 5 > >>>>> Number found with value: 1 > >>>>> Number found with value: 1 > >>>>> Number found with value: 3 > >>>>> Number found with value: 4 > >>>>> Number found with value: 5 > >>>>> _________________________________________________ > >>>>> > >>>>> > >>>>> that seams absolute logically to me. > >>>>> But now I alter the Numbers in the Java-Part: > >>>>> Number[] numbers = new Number[] {wrap(3), wrap(1), wrap(2)}; > >>>>> > >>>>> and the output destroys everything I thought I understood: > >>>>> Loading file: Example3.drl > >>>>> Inserting fact: 3 > >>>>> Inserting fact: 1 > >>>>> Inserting fact: 2 > >>>>> Number found with value: 1 > >>>>> Number found with value: 3 > >>>>> Number found with value: 2 > >>>>> > >>>>> > >>>>> Can someone reproduce this behavior?? It seams absolutely strange to > >>> me. > >>>>> I would have expected the order 1,2,3. Any explanations? > >>>>> > >>>>> Thanks in advance for helping me! > >>>>> > >>>>> > >>>>> > >>>> > >>> _______________________________________________ > >>> rules-users mailing list > >>> [email protected] > >>> https://lists.jboss.org/mailman/listinfo/rules-users > >>> > >> > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
