[rules-users] when condition on multiple facts of the same type
Greg Barton
greg_barton at yahoo.com
Thu Aug 20 23:00:11 EDT 2009
Does your event have an @expires time? If you're running in STREAM mode events will be garbage collected when they expire, and by default that's when the match no rules. If you specify an @expires value they will hang around for that time period even if they match nothing. So, with no @expires specified, two events would have to be inserted simultaneously to match.
If you're in CLOUD mode I'm not sure what's up. :)
--- On Thu, 8/20/09, Justin King <justin.matthew.king at gmail.com> wrote:
> From: Justin King <justin.matthew.king at gmail.com>
> Subject: Re: [rules-users] when condition on multiple facts of the same type
> To: "Rules Users List" <rules-users at lists.jboss.org>
> Date: Thursday, August 20, 2009, 9:28 PM
> It seems that the problem was that I had
> ObligationComplianceEvent defined as an event. When I leave
> it as a normal fact it works fine. Can anyone explain why
> this is? Its a problem as I need the timestamp to be present
> for other things...
>
>
> 2009/8/18 Greg Barton <greg_barton at yahoo.com>
>
> Doesn't seem to be a problem. See attached project.
>
>
>
> --- On Mon, 8/17/09, Justin King <justin.matthew.king at gmail.com>
> wrote:
>
>
>
> > From: Justin King <justin.matthew.king at gmail.com>
>
> > Subject: [rules-users] when condition on multiple
> facts of the same type
>
> > To: "Rules Users List" <rules-users at lists.jboss.org>
>
> > Date: Monday, August 17, 2009, 8:24 PM
>
> > I'm trying to have
> a rule execute based
>
> > on the following condition:
>
> >
>
> > ObligationComplianceEvent(term ==
> "term
>
> > 1", obligation == "obligation 1", level
> ==
>
> > 1)
>
> > ObligationComplianceEvent(term ==
> "term
>
> > 2", obligation == "obligation 1", level
> ==
>
> > 1)
>
> >
>
> >
>
> > I pass in two facts of type ObligationComplianceEvent
> with
>
> > the values shown above but the rule does not execute.
> It
>
> > only executes if I put an 'or' like so
>
> >
>
> > ObligationComplianceEvent(term ==
> "term
>
> > 1", obligation == "obligation 1", level
> == 1)
>
> > or
>
> >
>
> >
>
> > ObligationComplianceEvent(term ==
> "term
>
> > 2", obligation == "obligation 1", level
> ==
>
> > 1)
>
> >
>
> > Any help on what the correct way to do this is?
> I'm
>
> > guessing its because it does not distinguish the two
> lines
>
> > as two different facts, so because neither of the
> facts has
>
> > the value 'term 1' and 'term 2' it
> never
>
> > executes.
>
> >
>
> >
>
> > Thanks for any help.
>
> >
>
> > Justin
>
> >
>
> >
>
> > -----Inline Attachment Follows-----
>
> >
>
> > _______________________________________________
>
> > rules-users mailing list
>
> > rules-users at lists.jboss.org
>
> > https://lists.jboss.org/mailman/listinfo/rules-users
>
> >
>
>
>
>
>
>
> _______________________________________________
>
> rules-users mailing list
>
> rules-users at lists.jboss.org
>
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
>
> -----Inline Attachment Follows-----
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
More information about the rules-users
mailing list