Hi Wolfgang,
>How else would the engine know when to reevaluate LHSs?
Well, the user manual is clear about the LHS of _rules_ being evaluated at assertion time, indeed. However I did not find information about this matter regarding _queries_. Sorry if I missed something, but the manual is mostly concerned about rules and I found less information about queries. (Btw. I'm not using live queries. )
Actually, I have written a small test application following this principle (as described in my original mail, without the explicit update call) and it was working "correctly", i.e. if I updated a fact outside of the wm then I queried (by the attribute that was updated), the query already matched by the updated attribute.
But I'd like to know whether this behaviour was somehow incidental or whether this is theoretically correct.
Thank you for your help,
regards,
Andras


On Fri, Jun 14, 2013 at 9:36 AM, Wolfgang Laun <wolfgang.laun@gmail.com> wrote:
On 14/06/2013, Andras Nagy <andras.istvan.nagy@gmail.com> wrote:
> Dear All,
> In a multithreaded application I plan to use Drools the following way:
> -use only queries but not rules
> -keep an outside reference to all facts inserted into the working memory,
> and keep modifying the facts after they were inserted
> -use locks synchronizing outside fact changes and Drools query executions
> (happening parallelly on other threads), to make sure that when the queries
> are executed, the facts are always in a consistent state
> Given that the application only uses queries (and no rules), I wonder if
> there is a need to notify the engine of the fact changes (e.g.
> workingMemory.update(...) etc.).
> Could someone confirm that?

How else would the engine know when to reevaluate LHSs?

-W

>
> Thank you,
> Andras
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users