Re: [rules-users] rule limit

2011-10-06 Thread Wolfgang Laun
On 6 October 2011 01:09, Davide Sottara dso...@gmail.com wrote:
 As far as I know, the parser does not check the number of rules in a DRL
 Maybe you could do something like this:

 (i) use a KnowledgeBuilder to load the DRL resource;
 (ii) before you add the packages to the knowledgeBase, iterate over
 kBuilder.getKnowledgePackages() to find the package generated from your DRL;
 (iii) use getRules().size() on the package to check if the number of rules
 exceeds your desired threshold

This would limit the number of rules per package and not per DRL file.

Crude and not foolproof,  but very cheap is a bash oneliner:
 LIMIT=10; PATH=some.drl; if [ $(grep '^\s*rule\' $PATH | wc -l)
-gt $LIMIT ]; then echo more than $LIMIT rules in $PATH; fi

-W



 D.


 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/rules-users-rule-limit-tp3394660p3398277.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] rule limit

2011-10-06 Thread Swindells, Thomas
For an even less technical solution you could have a person with a big stick 
standing behind the users...
I think what we are all wondering is why you want to limit the number of rules!

Thomas

 -Original Message-
 From: rules-users-boun...@lists.jboss.org [mailto:rules-users-
 boun...@lists.jboss.org] On Behalf Of Wolfgang Laun
 Sent: 06 October 2011 08:14
 To: Rules Users List
 Subject: Re: [rules-users] rule limit

 On 6 October 2011 01:09, Davide Sottara dso...@gmail.com wrote:
  As far as I know, the parser does not check the number of rules in a
  DRL Maybe you could do something like this:
 
  (i) use a KnowledgeBuilder to load the DRL resource;
  (ii) before you add the packages to the knowledgeBase, iterate over
  kBuilder.getKnowledgePackages() to find the package generated from
  your DRL;
  (iii) use getRules().size() on the package to check if the number of
  rules exceeds your desired threshold

 This would limit the number of rules per package and not per DRL file.

 Crude and not foolproof,  but very cheap is a bash oneliner:
  LIMIT=10; PATH=some.drl; if [ $(grep '^\s*rule\' $PATH | wc -l) -gt 
 $LIMIT
 ]; then echo more than $LIMIT rules in $PATH; fi

 -W


 
  D.
 
 
  --
  View this message in context:
  http://drools.46999.n3.nabble.com/rules-users-rule-limit-tp3394660p339
  8277.html Sent from the Drools: User forum mailing list archive at
  Nabble.com.
  ___
  rules-users mailing list
  rules-users@lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
 
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


**
This message is confidential and intended only for the addressee. If you have 
received this message in error, please immediately notify the 
postmas...@nds.com and delete it from your system as well as any copies. The 
content of e-mails as well as traffic data may be monitored by NDS for 
employment and security purposes. To protect the environment please do not 
print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, 
United Kingdom. A company registered in England and Wales. Registered no. 
3080780. VAT no. GB 603 8808 40-00
**

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] rule limit

2011-10-06 Thread Wolfgang Laun
The author gets paid (by slyfox (!)) according to the number of rules ;-)
-W

On 6 October 2011 10:24, Swindells, Thomas tswinde...@nds.com wrote:
 For an even less technical solution you could have a person with a big stick 
 standing behind the users...
 I think what we are all wondering is why you want to limit the number of 
 rules!

 Thomas

 -Original Message-
 From: rules-users-boun...@lists.jboss.org [mailto:rules-users-
 boun...@lists.jboss.org] On Behalf Of Wolfgang Laun
 Sent: 06 October 2011 08:14
 To: Rules Users List
 Subject: Re: [rules-users] rule limit

 On 6 October 2011 01:09, Davide Sottara dso...@gmail.com wrote:
  As far as I know, the parser does not check the number of rules in a
  DRL Maybe you could do something like this:
 
  (i) use a KnowledgeBuilder to load the DRL resource;
  (ii) before you add the packages to the knowledgeBase, iterate over
  kBuilder.getKnowledgePackages() to find the package generated from
  your DRL;
  (iii) use getRules().size() on the package to check if the number of
  rules exceeds your desired threshold

 This would limit the number of rules per package and not per DRL file.

 Crude and not foolproof,  but very cheap is a bash oneliner:
      LIMIT=10; PATH=some.drl; if [ $(grep '^\s*rule\' $PATH | wc -l) -gt 
 $LIMIT
 ]; then echo more than $LIMIT rules in $PATH; fi

 -W


 
  D.
 
 
  --
  View this message in context:
  http://drools.46999.n3.nabble.com/rules-users-rule-limit-tp3394660p339
  8277.html Sent from the Drools: User forum mailing list archive at
  Nabble.com.
  ___
  rules-users mailing list
  rules-users@lists.jboss.org
  https://lists.jboss.org/mailman/listinfo/rules-users
 
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


 **
 This message is confidential and intended only for the addressee. If you have 
 received this message in error, please immediately notify the 
 postmas...@nds.com and delete it from your system as well as any copies. The 
 content of e-mails as well as traffic data may be monitored by NDS for 
 employment and security purposes. To protect the environment please do not 
 print this e-mail unless necessary.

 NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 
 4EX, United Kingdom. A company registered in England and Wales. Registered 
 no. 3080780. VAT no. GB 603 8808 40-00
 **

 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Get previous fact from working memory.

2011-10-06 Thread tungl
Hello everyone,

I think my problem is quite simple, but still, I can't come up with a
solution.
What I want to do is compare the last fact with the current one and I'm
wondering how
to do that. 



That's how I check if the EventType of the current Event is EVENT1. What I
want to do now is check if the EventType of the current Event is EVENT1 and
EventType of the previous Event is EVENT2. How can I do that?

Thanks very much in advance,
Martin

--
View this message in context: 
http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3399064.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread Wolfgang Laun
This depends on how you represent current and previous in your
fact/event objects.
-W


On 6 October 2011 10:58, tungl mar...@seafoid.org wrote:
 Hello everyone,

 I think my problem is quite simple, but still, I can't come up with a
 solution.
 What I want to do is compare the last fact with the current one and I'm
 wondering how
 to do that.



 That's how I check if the EventType of the current Event is EVENT1. What I
 want to do now is check if the EventType of the current Event is EVENT1 and
 EventType of the previous Event is EVENT2. How can I do that?

 Thanks very much in advance,
 Martin

 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3399064.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread tungl
So, if I get you right, I have to, for example, store some kind of time stamp
in my event object and compare it? 
My definition of previous simply depended on the order, the objects were
inserted into the working memory.

--
View this message in context: 
http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3399079.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread Vincent Legendre
Title: CARTE DE VISITE

  
  
No need to store a explicit timestamp, drools will do that for you.

Your first option is a rule like this :

rule "check_agains_last"
when
 $e1 : EVENT1()
 $e2 : EVENT2(this before $e1)
 not EVENT2(this after $e2)
then
 ...
end

Your second option is to implement a WorkingMemoryEventListener,
and implement the objectInserted method to store the last events
inserted (a simple 2 sized rolling stack will do the job), and
another that return the "previous" inserted Event object (the second
element of your stack). 
this leads to a rule like this :

rule "check_agains_last"
when
 $e1 : EVENT1()
 eval (PreviousEventListener.getPreviousEvent() instanceof
EVENT2)
then
 ...
end

But in this last solution, you may fall into problem if two events
are inserted in seom other thread while the rules are processed. In
fact, I think you need "the event before another event", and not
"the previous of the last one" (the "last one" may be not the one
matched in your rule). Mays be your listener can be used to set, in
a new event that is inserted, the reference to the last one
inserted, something like that: 

class PreviousEventListener implements WorkingMemoryEventListener
{
 private Object lastInserted;
 public void objectInserted (ObjectInsertedEventevent)
{
  event.getObject().setLastEvent( lastInserted ); // check
class before of course ...
lastInserted =  event.getObject();
 }
}

rule "check_agains_last"
when
 $e1 : EVENT1(...)
 $e2 : EVENT2(...) from $e1.getLastEvent()
then
 ...
end


Le 06/10/2011 11:06, tungl a crit:

  So, if I get you right, I have to, for example, store some kind of time stamp
in my event object and compare it? 
My definition of "previous" simply depended on the order, the objects were
inserted into the working memory.

--
View this message in context: http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3399079.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




-- 
  
  
  
  
  Vincent
LEGENDRE
  Consultant
  Snior
   
  
  EURODECISION
  9A
rue de la Porte de Buc 78000 VERSAILLES
Tl. : +33 (0)1 39 07 12 40
Direct : +33 (0)1 39 07 26 16
www.eurodecision.com


  

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread tungl
Thank you very much. I'll try that.

But there's another small problem I've just faced. I'm trying to insert
a new Event object into the working memory.

I can do that with  but


results in


What am I doing wrong?


--
View this message in context: 
http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3399156.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread Vincent Legendre
like in plain java : declare the type of your new variable before its 
name ...
Event $e = new Event(...);
insert($e);
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] ksession.insert() executes sequentially in multithreaded StatefulKnowledgeSessions

2011-10-06 Thread juancarlos.fernandezj
Hello,

I'm having trouble when trying to insert() facts inside parallel
StatefulKnowledgeSessions. From a main() java program I start multiple
threads. Every thread creates new KnowledgeBase and every KnowledgeBase
creates new StatefulKnowledgeSession so I have one StatefulKnowledgeSession
in every thread. Once StatefulKnowledgeSession has been created, I insert
lots of facts in each StatefulKnowledgeSession.

What was expected? I expected to run insert() in parallel, each insert
inside its thread StatefulKnowledgeSession. 4 threads inserting lots of
facts inside its own StatefulKnowledgeSession is expected to run in parallel
and see how CPU usage increases.

What have I seen? when all threads are inserting facts in its own
StatefulKnowledgeSession I can see that only one CPU is being used so there
is no parallel insertion in different StatefulKnowledgeSession.

Is there a synchronization inside insert() code? It's so strange. Even if i
try with 12 threads, I can't see a CPU usage increase when executing
parallel insert() inside different StatefulKnowledgeSession (threads).

Help please.

This is my thread code (no static objects):

public class KnowledgeSessionThread extends Thread {

private StatefulKnowledgeSession session;
private Message[] facts;

public KnowledgeSessionThread(Message[] facts) throws Exception {
session = readKnowledgeBase().newStatefulKnowledgeSession();
this.facts = facts;
}

public void run() {
try {
for( int i = 0; i  facts.length; i++ ) {
session.insert(facts[i]);
}
session.startProcess(flowId);
session.fireAllRules();
session.dispose();
System.out.println(Thread finished);
} catch( Exception e ) {
e.printStackTrace();
}
}

private KnowledgeBase readKnowledgeBase() throws Exception {
KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource(Sample.drl),
ResourceType.DRL);
kbuilder.add(ResourceFactory.newClassPathResource(Sample.bpmn),
ResourceType.BPMN2);
KnowledgeBuilderErrors errors = kbuilder.getErrors();
if (errors.size()  0) {
for (KnowledgeBuilderError error: errors) {
System.err.println(error);
}
throw new IllegalArgumentException(Could not parse
knowledge.);
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
return kbase;
}
}

--
View this message in context: 
http://drools.46999.n3.nabble.com/ksession-insert-executes-sequentially-in-multithreaded-StatefulKnowledgeSessions-tp3399339p3399339.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] IllegalStateException happens when ResourceChangeScanner working on Version 5.3.0.CR1

2011-10-06 Thread Jiri Svitak
I have already reported this issue:
https://bugzilla.redhat.com/show_bug.cgi?id=733008

On 10/04/2011 02:56 PM, Oliver Liu wrote:
 Hi Guys,

 I want to upgrade drools from 5.1.1 to 5.3.0 CR1, but i found
 ResourceChangeScanner could't work.

 In version 5.1.1, i wrote this code to get a KnowledgeAgent

   KnowledgeAgent kagent =
 KnowledgeAgentFactory.newKnowledgeAgent(ReleaseAgent);
   kagent.addEventListener(new ReloadingRuleEventListener(this));
   
 kagent.applyChangeSet(ResourceFactory.newClassPathResource(changeset-url.xml));

 changeset-url.xml content is like:
 change-set xmlns='http://drools.org/drools-5.0/change-set'
  xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
  xs:schemaLocation='http://drools.org/drools-5.0/change-set

 http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'
 add
resource

 source='http://hostname:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/PackageName1/snapshot_release'
type='PKG' basicAuthentication=enabled username=user1
 password=123456 /

resource

 source='http://hostname:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/PackageName2/snapshot_release'
type='PKG' basicAuthentication=enabled username=user1
 password=123456 /

resource

 source='http://hostname:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/PackageName3/snapshot_release'
type='PKG' basicAuthentication=enabled username=user1
 password=123456 /
 /add
 /change-set

 then wrote this code to scan if there is a new version snapshot on guvnor
   ResourceChangeScannerConfiguration sconf = ResourceFactory
   .getResourceChangeScannerService()
   .newResourceChangeScannerConfiguration();
   sconf.setProperty(drools.resource.scanner.interval,60);

   
 ResourceFactory.getResourceChangeScannerService().configure(sconf);
   ResourceFactory.getResourceChangeScannerService().start();
   ResourceFactory.getResourceChangeNotifierService().start();

 It works very well, each time when ResourceChangeScanner finding there is
 new snapshot, it can reload the rules from guvnor properly.

 But when i updated to 5.3.0 CR1, ran this code, error happens:
 Exception in thread Thread-2 java.lang.IllegalStateException: reader does
 have
   a modified date
  at
 org.drools.io.impl.ReaderResource.getLastModified(ReaderResource.java
 :64)
  at
 org.drools.io.impl.ResourceChangeScannerImpl.scan(ResourceChangeScann
 erImpl.java:169)
  at
 org.drools.io.impl.ResourceChangeScannerImpl$ProcessChangeSet.run(Res
 ourceChangeScannerImpl.java:326)
  at java.lang.Thread.run(Thread.java:619)

 It seems in new version, UrlResource was parsed to ReaderResource(i rememer
 in 5.1.1, each resource in changeset-url.xml was parsed to UrlResource).


 Can you give a help?
 Thanks a lot


 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/IllegalStateException-happens-when-ResourceChangeScanner-working-on-Version-5-3-0-CR1-tp3393027p3393027.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] rule limit

2011-10-06 Thread slyfox
thanks for all of the responses, fun to read :)

Sorry I thought it was pretty strait forward question.  I would assume
somehow the parser 'knows' how many rules are in a drl file

I do not want an over ambitious user to just create rule after rule after
rule (though I suppose he could technically do a lot even in one rule)


rule a //1
when 
then
end

rule b //2
when
then
end

rule c //3
when
then
end

and so on...






--
View this message in context: 
http://drools.46999.n3.nabble.com/rules-users-rule-limit-tp3394660p3400312.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] Cookbook: How to test rules using xUnit

2011-10-06 Thread Edson Tirelli
   Hi all,

   Not sure why the syntax highlighter is not working on the blog, but in
any case, you can read the content.

http://blog.athico.com/2011/10/cookbook-how-to-test-rules-using-xunit.html

   Hopefully it will be helpful to some people.

   Edson

-- 
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread tungl
Thanks Vincent, but when I do it like this:


It's sufficient that EVENT2 has happened anywhere before EVENT1.

So EVENT1, EVENT2 = false, false
EVENT2, EVENT1 = false, true (that's right, but:)
EVENT2, EVENT1, EVENT1 = false, true, true (?)

How do I fix that?

--
View this message in context: 
http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3400371.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread Wolfgang Laun
This is handled by simply using the before temporal operator:
   $e1: Event1()
   $e2: Event2( this before $e1 )
-W

On 6 October 2011 19:09, tungl mar...@seafoid.org wrote:
 Thanks Vincent, but when I do it like this:


 It's sufficient that EVENT2 has happened anywhere before EVENT1.

 So EVENT1, EVENT2 = false, false
 EVENT2, EVENT1 = false, true (that's right, but:)
 EVENT2, EVENT1, EVENT1 = false, true, true (?)

 How do I fix that?

 --
 View this message in context: 
 http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3400371.html
 Sent from the Drools: User forum mailing list archive at Nabble.com.
 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Get previous fact from working memory.

2011-10-06 Thread Vincent Legendre
Title: CARTE DE VISITE

  
  
Hum, rigth ...
You want the last to be false ?

may be something like that (ignore the type first to get the last,
then test it in a eval)
rule "check_agains_last"
when
 $e1 : Event (eventType == Event.EventType.EVENT1)
 $e2 : Event (this before $e1)
 not Event (this after $e2)
 eval ($e2.getEventType() == Event.EventType.EVENT2)
then
...
end


But to me this rule is too complex according to what it tells ...
You should implement the chaining via the listener.



Le 06/10/2011 19:09, tungl a crit:

  Thanks Vincent, but when I do it like this:


It's sufficient that EVENT2 has happened anywhere before EVENT1.

So EVENT1, EVENT2 = false, false
EVENT2, EVENT1 = false, true (that's right, but:)
EVENT2, EVENT1, EVENT1 = false, true, true (?)

How do I fix that?

--
View this message in context: http://drools.46999.n3.nabble.com/Get-previous-fact-from-working-memory-tp3399064p3400371.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




-- 
  
  
  
  
  Vincent
LEGENDRE
  Consultant
  Snior
   
  
  EURODECISION
  9A
rue de la Porte de Buc 78000 VERSAILLES
Tl. : +33 (0)1 39 07 12 40
Direct : +33 (0)1 39 07 26 16
www.eurodecision.com


  

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] The database returned no natively generated identity value

2011-10-06 Thread vanrobstone
Hi,

I am trying to get a webapp ported from oracle to db2.  I managed to get all
the sql loaded in but it is now failing with the above error.  After a day's
searching (I am not a web-developer by trade so please bear with me) I
managed to do a DB2 Driver trace and possibly narrow down my problem to a
table drools appears to create

SessionInfo

One of the columns is an id field that hibernate appears to be populating
with the following sql



Shortly after I am receiving the following stack trace (apppended to the
foot of this query).

I feel like there ought to be a trigger or something that would actually
populate the id field but hibernate seems to have problems.  For all the
tables we have created we have created sequence numbers where appropriate
and are used by annotations in the code



I am not sure how to do the same for this generated table

Cheers for looking.

As promised the stack



--
View this message in context: 
http://drools.46999.n3.nabble.com/The-database-returned-no-natively-generated-identity-value-tp3400770p3400770.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] rule limit

2011-10-06 Thread Ansgar Konermann
Am 06.10.2011 18:48, schrieb slyfox:
 thanks for all of the responses, fun to read :)

 Sorry I thought it was pretty strait forward question.  I would assume
 somehow the parser 'knows' how many rules are in a drl file

 I do not want an over ambitious user to just create rule after rule after
 rule (though I suppose he could technically do a lot even in one rule)
You probably can't prevent him from doing it first hand. But when it
comes to compiling/loading the rules, you can of course check the number
of rules and issue an error message if it exceeds your limit. See answer
by Davide Sottara for technical details.

However I'm still not convinced that this rather technical measure will
make your life easier in the long run. Still having the impression that
educating the user of your system to find a useful structure in their
rules will pay off more than just putting up road closed signs.

Best regards

Ansgar
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] NPE in SlidingTimeWindow$SlidingTimeWindowComparator

2011-10-06 Thread Rob Crawford
I'm getting a null pointer exception on either line 232 or 233 of 
SlidingTimeWindow. The only window I'm using is:

rule Mark up to date
   timer(int: 5m)
when
   $store: Store()
   exists (SensorReading (this.store == $store) over window:time(5m))
then
   ...
end

The rule never fires; this happens when the sliding time window is expiring 
tuples.

It appears the comparator needs to handle nulls, but there's nothing in the 
JavaDocs about that.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


[rules-users] best design pattern for fusion stream

2011-10-06 Thread slyfox
I have a trading application that currently handles a fair amount of messages
per second, generally in the thousands.  Soon it will handle 10s and perhaps
hundreds of thousands of messages.

I have not done any load testing yet but while I am here I figured I should
ask if there are any known limitations that I may run in to?

Presently my trading app handles price quotes by consuming an amqp queue
bound to a topic:
try {
q = quotes.poll(100, TimeUnit.MILLISECONDS);

if (q != null)
handleIncomingQuote(q);

} catch ...


I would like to use fusion so that I can get the code infrastructure done
and then hopefully never have to deal with code again for writing my
strategies, ideally all of that will be in the form of rules.

So I am at a point where I need to learn the camel integration piece so that
fusion will consume the amqp feed.  

However, and this is my question, general practice is not to immediately do
any work on incoming message, currently I add to a LinkedBlockingQueue and
then pick up from another thread (shown above).  So should I even worry
about the AMQP/Camel integration?  It would seem to me that if fusion is
acting on each event this could become an eventual bottleneck.  I wonder if
I would be better off manually inserting my incoming quotes into the entry
point in the manner that I have above, essentially by replacing
handleIncomingQuote(q) with EntryPoint.insert(q)?

Or does the working memory handle the buffering for me?  Looking at the
Stream and Entry point doc I would say there is a chance but I am not
certain.

Thanks
Bobby



--
View this message in context: 
http://drools.46999.n3.nabble.com/best-design-pattern-for-fusion-stream-tp3401432p3401432.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Guvnor - Operations with snapshots

2011-10-06 Thread Demian Calcaprina
Hi again.

I have been able to use guvnor package versions with some success..

Is there any service I can call to create a new version? I have checked that
it seems to change the package version when you click on save package. Can
I have some URL to achieve it automatically?

Thanks

Demian

On Tue, Oct 4, 2011 at 9:57 AM, Demian Calcaprina calcacue...@gmail.comwrote:

 Thanks Jervis.

 I currently use Guvnor 5.2, and saw that I can use version so I will try to
 use them.

 - Is there something I will be missing about versions, by using 5.2?
 - Do you know when a new version is created? With Snapshots, I could choose
 when to create a new one. How about versions?

 Thanks!

 Demian

 2011/10/3 jliu j...@redhat.com

  On 2011/10/4 1:54, Demian Calcaprina wrote:

 Hi everyone. I am using Guvnor 5.2, and I need to make some operations
 from my application.

  Specifically, I need to make two operations remotely:
 - List Snapshots, as it is possible to list packages.
 - Create a new snapshot from a package.

  Is this possible to make these operation through rest API?

  Hi,

 Start from 5.3, Guvnor Packages are fully versioned. I would recommend you
 to use a vesioned package instead of package snapshot. Package snapshot will
 be deprecated in the future.

 Cheers,
 Jervis

 Thanks,

  Demian




 ___
 rules-users mailing 
 listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users



 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users



___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users