[rules-users] Using the drools as the backend engine for a service

Anstis, Michael (M.) manstis1 at ford.com
Tue Feb 5 04:57:50 EST 2008


Obviously you know your requirments better than I, but the following
stateless example accommodates dynamic insertion of facts:-
 
DRL
 
package com.test
 
import com.test.Fact1;
import com.test.Fact2;
 
rule "Fact1"
 when
  Fact1()
 then
  System.out.println("Fact1");
  insert(new Fact2());
end
 
rule "Fact2"
 when
  Fact2( )
 then
  System.out.println("Fact2"); 
end
 
Java
 
StatelessSession session = ruleBase.newStatelessSession();
session.execute(new Fact1());
 
Console

Fact1
Fact2
 
Are you getting (general) stateless sessions confused with sequential
stateless sessions?
 
With kind regards,
 
Mike 

 
  _____  

From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Jai Vasanth
Sent: 04 February 2008 21:02
To: Rules Users List
Subject: Re: [rules-users] Using the drools as the backend engine for a
service


As part of the rules evaluation, more objects are inserted into the working
memory. Even though I just insert 1 object after creating a session, rule
outcomes inside lead to more objects to  be inserted. 
Correct me if I am wrong, but I was under the impression that a stateless
wouldnt be able to automatically fire rules when we objects are inserted
dynamically

Thanks

Jai


On Feb 4, 2008 1:05 AM, Anstis, Michael (M.) <manstis1 at ford.com> wrote:


IMHO, you might achieve better scalability and resilience if you can make
the working memory stateless.
 
I assume your "service" to be a web-service over stateless-HTTP and not a
service exposed over a stateful protocol.
 
Cheers,
 
Mike


  _____  


From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Jai Vasanth

Sent: 01 February 2008 22:05
To: Rules Users List
Subject: Re: [rules-users] Using the drools as the backend engine for a
service


I must have not been clear, yes I was planning on instantiating the rulebase
when the service starts and instantiating a new session for every request.



ONCE:
 
 RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );

PER REQUEST:
Stateful session = ruleBase.newStatefulSession();  (Is this what you were
referring to as working memory ? )


I hope that looks ok.

Thanks

Jai 

On Feb 1, 2008 1:37 PM, Michael Rhoden <mrhoden at franklinamerican.com> wrote:


You would likely NOT want to create a rulebase per session. Most people
create working memory per session. Rulebases should only be loaded once per
server (context) in my opinion, and you reload it as rules changes. Loading
a rulebase loads rules from a file, and orders your rete tree. For our
installation that takes several minutes.

 

Rulebase = once

Working memory = per user/transaction

 

-Michael

 


  _____  


From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Jai Vasanth
Sent: Friday, February 01, 2008 3:23 PM
To: Rules Users List
Subject: [rules-users] Using the drools as the backend engine for a service

 

Hi,

 I am planning on using Drools as the rules engine for a service that I am
building. I am considering instantiating a stateful session for every
request to the service. The RuleBase would be created when the service
starts. Is this the correct way to  go about incorporating Drools in a
service ? Is session creation an expensive process and if so are there other
efficient ways of doing so ?



Thanks 

Jai 


_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users





_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080205/fd01d68b/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4159 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/rules-users/attachments/20080205/fd01d68b/attachment.bin 


More information about the rules-users mailing list