It should be pretty obvious that the rule should not fire after the insertion of a single fact.
declare MyEvent @role(event) end rule FaultsCoincide when f1 : MyEvent( key == "type1" ) over window:length( 1 ) f2 : MyEvent( key == "type2" ) over window:length( 1 ) then System.out.println( ">>> f1=" + f1 + " f2=" + f2 ); if( f2.getKey().equals( "type1" ) ) System.out.println( "*** BUG ***" ); end insert MyEvent<type1,ALARM> >>> f1=MyEvent<type1,ALARM> f2=MyEvent<type1,ALARM> *** BUG *** insert MyEvent<type2,ALARM> >>> f1=MyEvent<type2,ALARM> f2=MyEvent<type2,ALARM> >>> f1=MyEvent<type2,ALARM> f2=MyEvent<type1,ALARM> *** BUG *** _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev