[rules-users] Insert to non-existing entry point causing NPE in drools server?

Wolfgang Laun wolfgang.laun at gmail.com
Thu Dec 12 01:58:40 EST 2013


On 11/12/2013, dunnlow <dunnlow at yahoo.com> wrote:
> Hmm, whelp, no, nothing empirical.  I think in my head I am combining a few
> things I've read.
>
> In the Developers Cookbook (pg130) there is a comment that entry points can
> help reduce cross products and can be used to partition memory.  I remember
> reading that the entry points are built during compile time, so I read that
> to mean that if I have 1000 rules, but only 1 rule with entry point "ep1"
> that if I insert a fact to ep1, the engine has already built the structure
> to only evaluate that 1 rule.  I thought that was the main reasoning behind
> entry points :-/  You are saying that my thinking here is incorrect?

Entry points (or streams) have been added for representing different event
data sources. I would not think highly of such a feature if its foremost intent
would be memory optimization, i.e., passing the implementor's buck to the
user. Now entry points may have the effect you have concluded from these
statements - your reasoning may very well be correct. But there's no doubt
that entry points are a static, compile time issue, and you are reporting
a problem due to dynamic variations in the data. Using an iffy optimisation
and trying to come to grips with it illustrates Michael A Jackson's
pair of rules for optimisation ;-)

To summarize: I wouldn't go up this alley unless I had data that would
show it's worth the effort.

>
> So, in the manual
> (http://docs.jboss.org/drools/release/6.0.0.Final/drools-docs/html/DroolsComplexEventProcessingChapter.html#d0e9947)
> during the banking example for entry points, there is little difference
> between having an "ATM Stream" and "Branch Stream" as shown and adding a
> "stream" attribute to the WithdrawRequest object and adding the constraint,
> stream=="Branch"?

Given the problems arising from changing the SW at the *source* of
these streams to accomodate the additional property: there is a big
difference. As for the efficiency of the rules, I'd hold my judgment
until after the benchmark :-)

Cheers
Wolfgang


>
> Thanks again
>
>
>
> laune wrote
>> What makes you think that using entry points "speeds things up"? The
>> Engine still has to evaluate the entry-point attribute of a fact
>> (handle),
>> just like any other attribute.
>>
>> Or do you have conclusive evidence based on solid benchmarks?
>>
>> -W
>
>
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Insert-to-non-existing-entry-point-causing-NPE-in-drools-server-tp4027204p4027226.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> 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