I know using salience is not the best way to order rules but some of our
rules do have a higher priority then others. Since we are writing the rules
using a DSL I have created set set of Priority levels which set the
salience. One of these levels set salience to 0(default value). Is there any
harm
Rule authoring in Drools can be done in 2 ways: with the Eclipse or Guvnor. I
am not sure what you mean by a Rules Authoring Engine though. What
requirements to you have for rule authoring? Are business users or developer
authoring rules?
vsm wrote
>
> Drools is a Business Rules Management Engin
Not sure if I am right but I believe he has a memory restriction which forces
him not to be able to load a full result set from a query and then feed this
objects into the engine as facts. Unless you have some complicated logic I
would probably do the loading logic outside of the rules. Feed X numb
I am utilizing a dsl with a dslr. In my DSL I have a condition work Customer
which maps to a string value. Is there way to prevent the dsl from replacing
this work in certain cases? For example
rule"T1"
when
Object(value=="Customer Help")
then
...
end
When I run the DSL obviously
I will take a stab at answering this:
-Modify and Retract will cause the tree to be re-evaluated for the current
facts in memory. This may cause new activations or cancellations to occur.
Be forewarned that a rule that modifies a fact may cause a continuous loop
if the conditions for that rule are
Yes I know that from can be used with DSL. I was just trying to think of a
way to do something with a sub part of the object(i.e a dsl entry with a - )
laune wrote
>
> On 26/04/2012, gboro54 <gboro54@> wrote:
>> Is there a way to use contains with an object? i.e
>
> Y
I guess I could also have a method on my main object that takes parameters
and just do a not null check...
gboro54 wrote
>
> Is there a way to use contains with an object? i.e
>
> obj:Object(collection contains SubObject(string="TST",int=1))
>
>
> I know
Is there a way to use contains with an object? i.e
obj:Object(collection contains SubObject(string="TST",int=1))
I know you could do a from but we are writing a DSL and it would be great if
I could accomplish something like this above
TIA!
--
View this message in context:
http://drools.46999.
I am wondering how drools identifies what the IDENTITY of an object is for
insertion? Additionally are there any known performance differences between
one and the other?
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-assertBehaviour-IDENTITY-vs-EQUALITY-tp3899456p389945
I took part of your solution. Instead of a blocking queue my thread running
the rules session wakes up a time base and calls fireAllRules. Threads up to
that point are allowed to insert any data they want. This seems to prevent
any weird sync logic. I will continue testing this approach
gboro54
options. It dissolves all synchronization issues...)
>
> -W
>
> On 03/04/2012, gboro54 <gboro54@> wrote:
>> I will give these a try although they would seem to defeat the purpose of
>> having the ability to have a session always up and running already
>> evaluation.
I will set up your experiments to to test performance...
gboro54 wrote
>
> I will give these a try although they would seem to defeat the purpose of
> having the ability to have a session always up and running already
> evaluation. Another thought I had was to get rid of
Rules() after each
> insertion, with insertions from multiple threads.
>
> -W
>
>
> On 02/04/2012, gboro54 <gboro54@> wrote:
>> I updated the MessageControl fact as follows and the same issue still
>> occurs:
>>
>> private Lon
ontrol.)
>
> Obviously, rules will have to use something like
>atExcludedPosition == true
> when the Map is fully privatized.
>
> -W
>
>
> On 02/04/2012, gboro54 <gboro54@> wrote:
>> A gap would have to occur somewhere but I am not sure how or why.
>
Drools]
wrote:
> What is the current position value in the controller when it blocks? A
> regular message rank or one of those not to be processed or both?
>
> Are you sure that message ranks are increasing without gaps except
> those in the excluded position map?
>
> -W
>
Forgo to mention each time a position is added to the excluded position map,
the insertOrUpdate method is called on the session wrapper.
--
View this message in context:
http://drools.46999.n3.nabble.com/Multi-Access-to-Stateful-Session-tp3877599p3877622.html
Sent from the Drools: User forum mai
I have a stateful session which is having objects inserted and updated from
multiple threads. The thread managing the session is using the fireUntilHalt
method as below:
@Override
public void run() {
if (logger.isDebugEnabled()) {
logger.debu
efore any DSLRs using them.)
> -W
>
> On 9 March 2012 19:18, gboro54 <gboro54@> wrote:
>
>> Each builder is building off multiple files. I guess I could provide a
>> list
>> of these resources. Is there any worry about the order in which the
>> packages
Each builder is building off multiple files. I guess I could provide a list
of these resources. Is there any worry about the order in which the packages
are built then?
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-Salience-and-no-loop-tp3812723p3813430.html
Sent from
in the same package.
laune wrote
>
> Salience is a field in the Activation object, used for ranking another
> entry when it is inserted into the List. Looking at the package name for
> this or at this time would be futile.
> -W
>
> On 9 March 2012 16:44, gboro54 <gboro54@>
So I changed the package name to be the same and the situation did not occur
at all...Is salience not honored across packages?
gboro54 wrote
>
> No I am not using CEP and I didn't think STREAM mode made a difference. I
> am just as perplexed as you on why this is happening. Could
ld create differing objects. And it
> was the intent of my questions to unearth some irregularity, and to
> narrow it down.
>
> STREAM mode shouldn't matter as you aren't using windows, expiry
> or other CEP features - or are you?
>
> -W
>
>
> On 9 March 2
I take that back...Same issue still occuring...
gboro54 wrote
>
> Is salience ignore in a dslr? I changed the tech file to a regular DRL and
> everything seems to work. Additionally I configured the kBase for
> streaming mode. Does this have an affect on this as well?
>
--
Vi
Is salience ignore in a dslr? I changed the tech file to a regular DRL and
everything seems to work. Additionally I configured the kBase for streaming
mode. Does this have an affect on this as well?
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-Salience-and-no-loop-tp3
All sessions are against the same kBase. When I say replicate I mean I create
1 separate Orders all the same way(same values for all properties). I
have not tried to insert all into one session and fire but can try if this
really makes a difference(though I am not sure why it should). I will ad
So I have setup my drools execution as follows:
1.A single thread is pooling Orders from the db and insert them into X
number of sessions(10) running on separate threads(fireUntilHalt()).
2. I have a set up rules which need to execute first to allow other rules
to fire so I have rules such as
erty, but many
> different salience levels for a large number of activations is not
> efficient, since this requires a sequential search.
>
> -W
>
>
> On 3 March 2012 21:30, gboro54 <gboro54@> wrote:
>>
>> My previous statement was poorly written(that is what I ge
documentation on this(as well as read on
myself).
gboro54 wrote
>
> Agreed that I can have a rule to retract the orderi was just thinking
> if the overhead of a reevaluation but can live with that...As far as the
> threading...this logic is going to be deployed on a jboss instance usin
re ought to be a well defined
> state (or states) when processed orders are retracted by some rule.
>
> -W
>
>
> On 3 March 2012 14:11, gboro54 <gboro54@> wrote:
>
>> Mark,
>>
>> I really appreciate the help and think I have come to a solution. Let m
Mark,
I really appreciate the help and think I have come to a solution. Let me
know if this sounds reasonable.
1. We will continue to use jBPM to coordinate the rules and business logic
that need to occur in calculating charges for orders. However we will work
the process to only work on a per or
I was thinking we could do separate sessions then queue up the results in
order and process themI also like Mark's idea of partitioning
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-5-3-partitioned-rule-base-tp3793558p3794439.html
Sent from the Drools: User forum
Additionally when does partitioning by data cause performance to be
compromised? It has always been in my experience and to my knowledge that
building a complete session with facts is cheaper then iterating a list of
facts, creating a session, and firing. Perhaps I am mistaken? Additionally
is ther
to build an external framework
> that partitions your data, and then assign a ksession per parition.
> Whether it's a ksession or kbase per partition depends on whether you
> can use the same rules per partition or not.
>
> Mark
> On 02/03/2012 17:33, gboro54 wrote:
>> C
Would you partition the KnowledgeBase or the Sessions? Additional would each
Order being evaluated create a new session?
gboro54 wrote
>
> Could you elaborate on that a little more Mark?
>
>
> Mark Proctor wrote
>>
>> Parition yourself ahead of time. Choose a k
Could someone explain a little more about how Drools does a partition. I
believe I understand Mark's idea, I just need to flush it out some more
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-5-3-partitioned-rule-base-tp3793558p3794163.html
Sent from the Drools: User fo
e.
>
> Mark
> On 02/03/2012 16:23, gboro54 wrote:
>> We are writing a billing system using Drools to evaluate orders placed
>> during
>> the day(this is a month to date process which will run nightly and we
>> will
>> be bringing a real-time solution online
We are writing a billing system using Drools to evaluate orders placed during
the day(this is a month to date process which will run nightly and we will
be bringing a real-time solution online later this year after we rewrite the
existing). Base fees of these orders can happen in parallel and in no
Executions need to happen in an order based on a data and a message id(at
least at one part of the evaluation). Because of this my plan was to use
dynamic salience and insert as many of the facts as I can at a time
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-5-3-part
I understand that all the evaluations are happening at insertion time. The
main reason for the groups is to intermix logic needed to execute outside of
rules(i.e I don't want rules invoking DAO's to retrieve data). I am trying
to partition because I need to be able to get a high level of messages
t
I understand that all the evaluations are happening at insertion time. The
main reason for the groups is to intermix logic needed to execute outside of
rules(i.e I don't want rules invoking DAO's to retrieve data). I am trying
to partition because I need to be able to get a high level of messages
t
After investagation I found the following:
10:29:45,421 ERROR [stderr] (pool-38-thread-2) at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
10:29:45,423 ERROR [stderr] (pool-38-thread-2) at
org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java
I am trying to run a partitioned rule base as we have a need to evaluate a
large number of facts. We have around 160 rules which are coordinated using
jBPM rule-flow groups(intermingled with some lightweight business logic).
The business logic in the process executed quickly(80ms for 10,000 facts)
dynamic salience is perfect(not sure how i missed that in the docs
--
View this message in context:
http://drools.46999.n3.nabble.com/Order-of-Execution-on-Messages-tp3784013p3784267.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
Agreed that "seems" is not from experience in this current endeavor. However
previous implementations it has been faster to insert multiple facts and
execute once rather then insert one at a time and execute... A proxy fact
may be a good idea
--
View this message in context:
http://drools.469
We are currently authoring rules using Drools 5.3 and using jBPM 5.2 for
orchestration. The situation we have is as follows: Certain groups of rules
can execute on n number of messages in any order(i.e the order in which the
consequences occur does not matter). The problem comes in later in the
pro
I am just curious if there is a way to use the "-" appending format for
appending OR conditions to an object. For example:
There exist object a
-where property1 is "Value1"
-or where property2 is "Value2"
This would equate to the drl:
Object(property1=="Value1" || property2=="Value2")
Is
Any suggestions on the best practice for this?
--
View this message in context:
http://drools.46999.n3.nabble.com/jBPM-5-2-and-Drools-5-3-tp3682896p3684604.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing
I am working with jBPM for the first time since it was rewritten based on
Drools flow. I have a set up rules(separated with rule rule flow groups),
which need to be executed at different part of a process. If I just start
the process as such(with parameters)
ProcessInstance proce
This is what we were thinking(i.e the routing solution). Thanks again for the
help...
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-HA-tp3619496p3628921.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
__
On Thu, Dec 29, 2011 at 4:25 PM, gboro54 <gboro54@> wrote:
>> Hi everyone. We are currently evaluating drools as a potential solution
>> of a
>> high throughput billing system. As is such we are planning to have
>> messages
>> read from a queue from 2 or more no
Hi everyone. We are currently evaluating drools as a potential solution of a
high throughput billing system. As is such we are planning to have messages
read from a queue from 2 or more nodes. One thing we are trying to figure
out is best way to share state in drools. The situation we are facing is
That works. Although adding > to every line in the DRL not using the DSL may
be annoying, my hope is that if we are going to be using DSLs we would write
most if not all our conditions and consequences there and then construct the
rules from them(allowing some of our more business type people to wr
How would this play with Fusion?
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-5-3-DSL-and-DRL-tp3524786p3525102.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-us
That is what I thought... I was hoping we would be able to write a rule using
a combination of our DSL and rule syntx
--
View this message in context:
http://drools.46999.n3.nabble.com/Drools-5-3-DSL-and-DRL-tp3524786p3525087.html
Sent from the Drools: User forum mailing list archive at Nabble.co
Do you have to declare your DRL as a DSLR resource to use a DRL? I ask
because I would like to be able to use a combination of DSL with regular
rule language(i.e mix and match). When I try to compile the rules as a DSLR
I can't use drools syntax but if I do a regular DRL I can't use the DSL
I a
101 - 155 of 155 matches
Mail list logo