I'm fairly new to Drools so there may be an easier way to do this. I need to
check to see if any one of a list of tags on an object are in another list
of tags and am trying to do that with a function. the compiler tells me it
can't compile my eval function:
#list any import classes here.
**
*imp
I see.I would wait for Mark's response in this case... before I change
anything. But surprisingly when I put all the rules in single DRL then this
null pointer exception is gone. What could be the cause of that??
Is this still true? That was back in Drools 3, but I thought this was
fixed
Is this still true? That was back in Drools 3, but I thought this was
fixed a long time ago... Mark may confirm that.
[]s
Edson
2008/11/21 vanshi <[EMAIL PROTECTED]>
>
> Thanks everybody for the responses.
>
> Scanning through old posts here, I found out that each time a new DRL is
> ad
Thanks everybody for the responses.
Scanning through old posts here, I found out that each time a new DRL is
added to package builder, all the rules from the previous DRL are also
compiled again. So, that means, the rules in the first DRL will compile 3
times unnecessarily. So, I'm going to put a
This is purely personal opinion, but I prefer JDT for stand alone
deployments and JANINO for embedded deployments.
JDT is more complete in terms of features and syntax, but sometimes you
will get classpath clashes in some production environments, like when
running inside Tomcat.
JANINO is
You will not find any major impact in runtime performance, but it
obviously affects compile performance, because there are more rules to
compile.
The Rete algorithm is know for scaling very well to increasing number of
rules, as long as the rules activated for each working memory actions rem
You must always use modifyRetract()+modifyInsert() as a pair of methods.
So you must always do:
session.modifyRetract(accountHandle);
...
// change all you want in your accound
account.setBalance(300);
...
session.modifyInsert(accountHandle, account);
[]s
Edson
2008/11/21 keithnielsen <
Same answer: most of the time, it is better to have it as a fact, but
sometimes, a from may be better by limiting your search space.
Again, these things are like SQL. You need to look at the whole domain
model as well as the set of your rules. The major performance optimizations
are made on
Most of the time, Join will be better, specially if it is an == join or
if you have many rules doing the same thing, because you get node sharing
between them.
If it is a one rule thing, or if the domain is large, but you need only
part of the information, you may be better loading the infor
Maxim,
There is a lot to look for when talking about performance. It is not
possible to give you any advice without knowing explicitly what you are
doing. It's like SQL: depending one your data model and the way you write
your queries, they will perform better or worst.
Just one detail:
Maxim
Our good friend James comes to the rescue:
http://www.kbsc.com/whitePapers.html
ALTHOUGH, if you are new to Rete, I strongly recommend you start by
reading the chapter 2 of the thesis by Dr Robert Doorenbos:
http://www.kbsc.com/WhitePapers/1995%20-%20Robert%20Doorenbos%20-%20Prod
Hello,
1.Is there any situation where one compiler can be preferred over other?
2. which compiler is ideal choice for production environment?
Please clarify.
Thanks
--
View this message in context:
http://www.nabble.com/Pros-n-Cons-of-JANINO---ECLIPSE-JDT-tp20630943p20630943.html
Sent from the
On Fri, Nov 21, 2008 at 8:28 PM, vanshi <[EMAIL PROTECTED]> wrote:
>
> Hi all,
>
> I have some set of rules which work on same Person object but depending on
> whether a person is student/employee/Faculty, the rule will have dfferent
> logic.
>
> So, I've made 3 .drl files, one will have all the r
Vanshi,
In general it would be better to put all of the rules together in the
same drl file as they all relate to the same object and are all destined
for the same rule base. Though there is nothing fundamentally incorrect
about your approach in most cases you want related rules to managed and
depl
I have the following test:
public void testFireAllRules() {
rulesManager = RulesManager.getInstance();
assertNotNull(rulesManager);
StatefulSession session =
rulesManager.getStatefulSession("com.dfs.dc.servicing.cms.cid.verification.test");
Hi all,
I have some set of rules which work on same Person object but depending on
whether a person is student/employee/Faculty, the rule will have dfferent
logic.
So, I've made 3 .drl files, one will have all the rules for students, other
for employee and then last .drl for faculty. All 3 .drl
Kris,
Thanks for your response and attention to the matter. I really like the Drools
ruleflow feature, and I think a resolution to this issue would make it more
useful. Even if it is the more simple matching OR-split - OR-join constructs, I
think that would go a long way.
Thanks Again,
-Hans
I have a similar question with global or fact (Foo is never modified)
What's more efficient beetwen :
1. rule "Foo_globals"
when
Foo(name != null) from fooGlobals
then
...
end
2. rule "Foo_facts"
when
Foo(name != null)
then
...
end
I have a question regarding the performance of pattern matching. Is it more
performant to use join nodes, or to use a from?
For example. With joins I could write a rule like
rule "Foo Join"
when
Foo($bar : bar != null)
Bar(this == $bar)
then
...
end
rule "Foo From
Keith,
This issue has already been fixed on the trunk version a while ago, as a
ProcessBuilder now reuses the package builder configuration. So it will be
part of the M3 release.
Kris
- Original Message -
From: "keithnielsen" <[EMAIL PROTECTED]>
To:
Sent: Wednesday, November 19,
Hans,
The behaviour you are witnessing is indeed expected behaviour. The problem is
that we currently do not have a matching OR-join construct, so it is indeed
difficult to model behaviour like you want to. The reason is that is it a very
difficult problem to create a generic OR join, i.e. a
21 matches
Mail list logo