Stefan,
5.6 is coming out in a few days.. it will be a major fix release where a
number of bugs have been isolated
and corrected. The reason it's not out yet is because more edge case
errors are being found and
corrected. I hope that an upgrade to 5.6 will be recommended to all 5.5
users
Curious, how that will be done, with anonymous download...? They don't
lurk on this list, either...
-W
Davide
On 04/18/2013 09:41 AM, Stefan Schuster wrote:
> 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 <mproctor(a)codehaus.org
> <mailto:mproctor@codehaus.org>>
>
> 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 <wolfgang.laun(a)gmail.com
> <mailto:wolfgang.laun@gmail.com>> 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 <stefan.m.schuster(a)gmail.com
> <mailto:stefan.m.schuster@gmail.com>> 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 <wolfgang.laun(a)gmail.com
> <mailto:wolfgang.laun@gmail.com>>
> >>
> >>> IIRC, this was a bug one or two minor versions ago. What
> version are you
> >>> using?
> >>> -W
> >>>
> >>> On 18/04/2013, Stefan Schuster <stefan.m.schuster(a)gmail.com
> <mailto:stefan.m.schuster@gmail.com>> 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 <stefan.m.schuster(a)gmail.com
> <mailto:stefan.m.schuster@gmail.com>>
> >>>>
> >>>>> 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
> >>> rules-users(a)lists.jboss.org
<mailto:rules-users@lists.jboss.org>
> >>>
https://lists.jboss.org/mailman/listinfo/rules-users
> >>>
> >>
> > _______________________________________________
> > rules-users mailing list
> > rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
> >
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org <mailto:rules-users@lists.jboss.org>
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users