I am not talking about assert, but modify. I have a dynamic fact
already asserted but now I need to perform N changes on N different
properties on the same object on the same consequence. Drools is going
to traverse the RETE network N times once for each time the
PropertiesListener is called (each setProperty called).
-- yuri
On 6/28/07, Mark Proctor <mproctor(a)codehaus.org> wrote:
Why would doing the assert work at the end of the consequence be any
quicker than doing it during the consequence?
Mark
Yuri de Wit wrote:
> I noticed that changes performed on facts asserted dynamically causes
> the fact to be modified right away and therefore triggering a RETE
> network traversal and rule schedulings.
>
> For apps with a large number of facts this could be a significant
> scalability problem. At least in my case, I would like to be able to
> use dynamic facts and perform any number of updates and have those
> updates commited to working memory only when the rule consequence is
> completed.
>
> Looking at the code, it seems that it would not be a major effort to
> collect the facts received by the ReteooWorkingMemory.propertyChange
> and perform the actual modifyObject() only when the consequence
> evaluation is actually completed.
>
> Does that makes sense? Or are there side effects I am not seeing? Is
> this a problem that 4.0 already resolves?
>
> thanks in advance,
>
> -- yuri
> _______________________________________________
> rules-users mailing list
> rules-users(a)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