Re: [rules-users] Drools 6 and Gradle?

2014-01-28 Thread Andrew Berman
Great, thanks Mark!

On Tue, Jan 28, 2014 at 4:06 PM, Mark Proctor  wrote:

> We require jars that are built to conform to maven standards. But they do
> not need to be built with maven. That means they do need a pom.properties
> in there. If gradle does not add that automatically, you should be able to
> automate that yourself.
>
> The pom.properties is a very simple file, that requires 3 key value pairs:
>
> *#Generated by Maven
> **#Wed Nov 18 14:44:09 PST 2009
> **version*=*2.2
> **groupId*=*javax.el
> **artifactId*=*el-api
> *
>
>
> This is necessary for discovery of jars, and versioning of jars within the
> same JVM. Maven provides a standard for this, so it seemed redundant us
> creating yet another way to declare this meta data.
>
> Mark
>
>
> On 28 Jan 2014, at 22:03, Andrew Berman  wrote:
>
> Hello,
>
> I keep running into an issue where Drools is looking for a pom.properties
> file and I get an error since I'm using Gradle.  Does Drools depend on
> Maven?  I noticed there is a lot of code looking for Maven and pom.xml and
> pom.properties, why is that?
>
> Thanks!
> ___
> 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 mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Re: [rules-users] ReteOO, KnowledgeBase and KnowledgeSession relation

2014-01-28 Thread Mark Proctor

On 29 Jan 2014, at 00:50, Harpreet Singh  wrote:

> Hi,
> 
> I understand that the ReteOO network is built when a KnowledgeBase is 
> created. Can you please tell me:
> - if any modifications are made to this network after a session (say 
> StatefulKnowledgeSession) has been created from this KnowledgeBase?
Not unless you add or remove rules.
> - any optimizations made at the session level? (such that time taken to fire 
> rules decreases when certain set of facts are re-inserted and rules 
> re-executed)
no, not if you have to re-insert all data.
> 
> I could not find any explanation in Drools Expert documentation regarding the 
> above two points. Any pointers explaining the relation between ReteOO, 
> KnowledgeBase and KnowledgeSession will be helpful.
> 
> Thanks. 
>  
> ___
> 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] Drools, slf4j and Eclipse Error on DroolsTest.Java

2014-01-28 Thread Inastrol
Figured out the problem.  Didn't have Maven installed as a plug-in 
correctly.  The book I'm using to learn Drools, didn't include that step.


Terry Moriarty wrote:

> This isn't my code.  It's created when a Drools project is created in 
> Eclipse.  I guess that's why this is so frustrating.  It's supposed to 
> demonstrate a very simple Drools program and I can't get it to work.  
> It's hard to debug someone else's code when you don't know the 
> language yet.
>
> Code is kSession.insert(message);
>
> Thanks
>
> sdjoe [via Drools] wrote:
>
>> Hard to say without seeing your code. Can you post it here and point 
>> out where the NPE is happening on line 23?
>>
>> 
>> If you reply to this email, your message will be added to the 
>> discussion below:
>> http://drools.46999.n3.nabble.com/Drools-slf4j-and-Eclipse-Error-on-DroolsTest-Java-tp4027853p4027888.html
>>  
>>
>> To unsubscribe from Drools, slf4j and Eclipse Error on 
>> DroolsTest.Java, click here 
>> .
>> NAML 
>> 
>>  
>>
>
>
>
>package com.sample;
>
>import org.kie.api.KieServices;
>import org.kie.api.runtime.KieContainer;
>import org.kie.api.runtime.KieSession;
>
>/**
> * This is a sample class to launch a rule.
> */
>public class DroolsTest {
>
>public static final void main(String[] args) {
>try {
>// load up the knowledge base
>   KieServices ks = KieServices.Factory.get();
>   KieContainer kContainer = ks.getKieClasspathContainer();
>   KieSession kSession = 
> kContainer.newKieSession("ksession-rules");
>
>// go !
>Message message = new Message();
>message.setMessage("Hello World");
>message.setStatus(Message.HELLO);
>kSession.insert(message);
>kSession.fireAllRules();
>} catch (Throwable t) {
>t.printStackTrace();
>}
>}
>
>public static class Message {
>
>public static final int HELLO = 0;
>public static final int GOODBYE = 1;
>
>private String message;
>
>private int status;
>
>public String getMessage() {
>return this.message;
>}
>
>public void setMessage(String message) {
>this.message = message;
>}
>
>public int getStatus() {
>return this.status;
>}
>
>public void setStatus(int status) {
>this.status = status;
>}
>
>}
>
>}
>  
>




--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-slf4j-and-Eclipse-Error-on-DroolsTest-Java-tp4027853p4027904.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] ReteOO, KnowledgeBase and KnowledgeSession relation

2014-01-28 Thread Harpreet Singh
Hi,

I understand that the ReteOO network is built when a KnowledgeBase is created. 
Can you please tell me:
- if any modifications are made to this network after a session (say 
StatefulKnowledgeSession) has been created from this KnowledgeBase?
- any optimizations made at the session level? (such that time taken to fire 
rules decreases when certain set of facts are re-inserted and rules re-executed)

I could not find any explanation in Drools Expert documentation regarding the 
above two points. Any pointers explaining the relation between ReteOO, 
KnowledgeBase and KnowledgeSession will be helpful.

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

Re: [rules-users] permgen error for simple rule stress test

2014-01-28 Thread Mark Proctor
permien issus were fixed in the 5.6 release, and 6.0 release, by Davide Sottara.

Mark
On 28 Jan 2014, at 21:05, anjana.ackroyd  wrote:

> We are running a simple stress test (whose code I will paste below) for a
> numbercompare rule file)
> We get the following error before the test finishes. Which seems odd for one
> rule
> javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space
> 
> This test is run against 3 loablanced tomcat servers 
> 
> 
> Here is my JVM_OPTS for each of those tomcat 
> JVM_OPTS="-Xms4096m -Xmx4096m -XX:NewSize=2048m -XX:PermSize=512m
> -XX:MaxPermSize=512m -Xss1024K -XX:+UseCodeCacheFlushing
> -XX:-UseSplitVerifier"
> 
> Here is 
> 
> I have a simple rule file deployed on guvnor on my abc with JVM_OPTS on the
> guvnor being
> JVM_OPTS="-Xms4096m -Xmx4096m -XX:NewSize=2048m -XX:PermSize=512m
> -XX:MaxPermSize=512m -Xss1024K 
> 
> 
> 
> 
> Here is my stress test that we are running
> 
> package DroolsTest;
> import java.io.BufferedReader;
> import java.io.InputStream;
> import java.io.InputStreamReader;
> import java.net.HttpURLConnection;
> import java.net.URL;
> 
> import confident.guppy.tools.Caller;
> 
> public class DroolsSpeedTest {
> 
>public static void main(String[] args) {
>HttpURLConnection httpURLConnection = null;
>InputStream inputStream = null;
>BufferedReader bufferedReader = null;
> 
>long t1 = System.currentTimeMillis();
>for (int i = 0; i < 1; i++) {
>try {
>long start =
> System.currentTimeMillis();
>// Three
> boxes
>String url =
> "https://abc-uat2.xyz.com/ces/v2.0/rules/10/compare/10";;
> 
> 
> 
> 
> httpURLConnection = (HttpURLConnection) ( new URL(url).openConnection());
> 
>if
> (httpURLConnection != null) {
> 
> inputStream = httpURLConnection.getInputStream();
> 
> bufferedReader = new BufferedReader(new InputStreamReader(
> 
> inputStream));
> 
> String results = "";
> 
> String info = "";
> 
> while ((info = bufferedReader.readLine()) != null) {
> 
> results += info;
> 
> }
> 
> //caller.log(results);
>} else {
> 
> System.out.println("Unable to create the HTTP connection with the required
> server...");
>}
> 
>if (i % 20
> == 0 && i != 0 ) {
> 
> System.out.println(" passing " + i + " ms " + (
> System.currentTimeMillis() - start ));
>}
> 
>} catch (Exception boom) {
> 
> boom.printStackTrace();
> 
> System.out.println("It died on the " + i + " attempt because " +
> boom.getMessage());
>}
>}
>long t2 = System.currentTimeMillis() - t1 ;
>System.out.println("I took ms : "+  t2 );
>}
> }
> 
> 
> 
> 
> Here is my rules defined on guvnor 
> 
> 
> 
> package org.numbercompare;
> declare NumberCompare
>message : String
>numberone: Integer
>numbertwo: Integer
> end
> 
> rule "numberone is equals to numbertwo"
> 
>when
>n: NumberCompare(numberone == numbertwo);
> 
>then
>n.setMessage("numberone is equals to numbertwo");
> 
> end
> 
> rule "numberone is greater than numbertwo"
>when
>n: NumberCompare(numberone > numbertwo);
> 
>then
>n.setMessage("numberone is greater than numbertwo");
> end
> 
> rule "numberone is less than numbertwo"
>when
>n: NumberCompare(numberone < numbertwo);
> 
>then
>n.setMessage("numberone is less than numbertwo");
> 
> end
> 
> 
> Here is my code that updates the rule file
> 
> 
> 
>public KnowledgeBase readKnowledgeBase() throws Exception {
> ResourceFactory.getResourceChangeNotifierService().start();
>ResourceFactory.getResourceChangeScannerService().start();
>ResourceChangeScannerConfiguration sconf =
> ResourceFactory.getResourceChangeScannerService().newResourceChangeScannerConfiguration();
>sconf.setProperty("drools.resource.scanner.interval", "2");
>ResourceFactory.getResourceChangeScannerService().configure(sconf);
>KnowledgeAgentConfiguration kaconf =
> KnowledgeAgentFactory.newKnowledgeAgentConfiguration();
>kaconf.setProperty("drools.agent.scanDirectories", "true");
>kaconf.setProperty("drools.agent.scanResources", "true");

Re: [rules-users] kie-workbench external maven repo

2014-01-28 Thread Mark Proctor
It obeys the settings.xml file for repository configurations.
http://docs.jboss.org/drools/release/6.0.1.Final/drools-docs/html/KIEChapter.html
4.2.3.5. Settings.xml and Remote Repository Ssetup

Mark

On 28 Jan 2014, at 21:39, gboro54  wrote:

> Is there a way to setup the kie workbench to point to an internal maven repo
> to pull internal libraries? 
> 
> 
> 
> --
> View this message in context: 
> http://drools.46999.n3.nabble.com/kie-workbench-external-maven-repo-tp4027897.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] Drools 6 and Gradle?

2014-01-28 Thread Mark Proctor
We require jars that are built to conform to maven standards. But they do not 
need to be built with maven. That means they do need a pom.properties in there. 
If gradle does not add that automatically, you should be able to automate that 
yourself.

The pom.properties is a very simple file, that requires 3 key value pairs:
#Generated by Maven
#Wed Nov 18 14:44:09 PST 2009
version=2.2
groupId=javax.el
artifactId=el-api

This is necessary for discovery of jars, and versioning of jars within the same 
JVM. Maven provides a standard for this, so it seemed redundant us creating yet 
another way to declare this meta data.

Mark


On 28 Jan 2014, at 22:03, Andrew Berman  wrote:

> Hello,
> 
> I keep running into an issue where Drools is looking for a pom.properties 
> file and I get an error since I'm using Gradle.  Does Drools depend on Maven? 
>  I noticed there is a lot of code looking for Maven and pom.xml and 
> pom.properties, why is that?
> 
> Thanks!
> ___
> 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] Drools 6 and Gradle?

2014-01-28 Thread Andrew Berman
Hello,

I keep running into an issue where Drools is looking for a pom.properties
file and I get an error since I'm using Gradle.  Does Drools depend on
Maven?  I noticed there is a lot of code looking for Maven and pom.xml and
pom.properties, why is that?

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

[rules-users] kie-workbench external maven repo

2014-01-28 Thread gboro54
Is there a way to setup the kie workbench to point to an internal maven repo
to pull internal libraries? 



--
View this message in context: 
http://drools.46999.n3.nabble.com/kie-workbench-external-maven-repo-tp4027897.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] permgen error for simple rule stress test

2014-01-28 Thread anjana.ackroyd
We are running a simple stress test (whose code I will paste below) for a
numbercompare rule file)
We get the following error before the test finishes. Which seems odd for one
rule
javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space

This test is run against 3 loablanced tomcat servers 


Here is my JVM_OPTS for each of those tomcat 
JVM_OPTS="-Xms4096m -Xmx4096m -XX:NewSize=2048m -XX:PermSize=512m
-XX:MaxPermSize=512m -Xss1024K -XX:+UseCodeCacheFlushing
-XX:-UseSplitVerifier"

Here is 

I have a simple rule file deployed on guvnor on my abc with JVM_OPTS on the
guvnor being
JVM_OPTS="-Xms4096m -Xmx4096m -XX:NewSize=2048m -XX:PermSize=512m
-XX:MaxPermSize=512m -Xss1024K 




Here is my stress test that we are running

package DroolsTest;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
 
import confident.guppy.tools.Caller;
 
public class DroolsSpeedTest {

public static void main(String[] args) {
HttpURLConnection httpURLConnection = null;
InputStream inputStream = null;
BufferedReader bufferedReader = null;
 
long t1 = System.currentTimeMillis();
for (int i = 0; i < 1; i++) {
try {
long start =
System.currentTimeMillis();
// Three
boxes
String url =
"https://abc-uat2.xyz.com/ces/v2.0/rules/10/compare/10";;


  

   
httpURLConnection = (HttpURLConnection) ( new URL(url).openConnection());
 
if
(httpURLConnection != null) {
   
inputStream = httpURLConnection.getInputStream();
   
bufferedReader = new BufferedReader(new InputStreamReader(

   
inputStream));
   
String results = "";
   
String info = "";
   
while ((info = bufferedReader.readLine()) != null) {

   
results += info;
   
}
   
//caller.log(results);
} else {
   
System.out.println("Unable to create the HTTP connection with the required
server...");
}
 
if (i % 20
== 0 && i != 0 ) {
   
System.out.println(" passing " + i + " ms " + (
System.currentTimeMillis() - start ));
}
 
} catch (Exception boom) {
   
boom.printStackTrace();
   
System.out.println("It died on the " + i + " attempt because " +
boom.getMessage());
}
}
long t2 = System.currentTimeMillis() - t1 ;
System.out.println("I took ms : "+  t2 );
}
}




Here is my rules defined on guvnor 



package org.numbercompare;
declare NumberCompare
message : String
numberone: Integer
numbertwo: Integer
end

rule "numberone is equals to numbertwo"

when
n: NumberCompare(numberone == numbertwo);

then
n.setMessage("numberone is equals to numbertwo");

end

rule "numberone is greater than numbertwo"
when
n: NumberCompare(numberone > numbertwo);

then
n.setMessage("numberone is greater than numbertwo");
end

rule "numberone is 

Re: [rules-users] java dialect and declared types

2014-01-28 Thread Mark Proctor
please do pop onto irc and provides us with more details on the performance
testing you are doing. We need to add more tests to our test suite, to
track any regressions.
http://www.jboss.org/drools/irc

Mark

On 23 Jan 2014, at 15:11, pmander  wrote:

Thanks,

This was just for a performance test to check mvel against java. Mvel in our
case is quicker. The tests also show that 5.5.0 is quicker than 6.0.0.





--
View this message in context:
http://drools.46999.n3.nabble.com/java-dialect-and-declared-types-tp4027822p4027829.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] java dialect and declared types

2014-01-28 Thread Mark Proctor
Are you able to provide a test, for something that produces this?

Mark
On 28 Jan 2014, at 10:58, pmander  wrote:

> I've tried to reproduce this in a tester but all my unit tests show 6.0.0
> marginally quicker. The rules and data are simplified for the test so I'll
> try something closer to what i am seeing on the full system. I've just done
> another comparison and the results are shown in the attached image.
>  
> There are a number of spikes in the 6.0.1 run that don't help, but it is
> clear that the 5.5.0 execution is better. I've run the tests several times
> and all show the same thing.
> 
> 1st col is average time - 250 jobs to process
> 2nd col is total time for test to complete - 10 processes executing - 48
> core machine 4gb per process - mvel dialect
> 
> For 5.5.0
> 
> 5854  215
> 5707  193
> 5629  189
> 5512  183
> 5607  189
> 5395  183
> 5369  183
> 
> For 6.0.0
> 
> 6229  244
> 5828  219
> 6076  223
> 5767  220
> 5735  220
> 5821  214
> 
> 
> 
> 
> --
> View this message in context: 
> http://drools.46999.n3.nabble.com/java-dialect-and-declared-types-tp4027822p4027884.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] Drools, slf4j and Eclipse Error on DroolsTest.Java

2014-01-28 Thread Inastrol
This isn't my code.  It's created when a Drools project is created in 
Eclipse.  I guess that's why this is so frustrating.  It's supposed to 
demonstrate a very simple Drools program and I can't get it to work.  
It's hard to debug someone else's code when you don't know the language yet.

Code is kSession.insert(message);

Thanks

sdjoe [via Drools] wrote:

> Hard to say without seeing your code. Can you post it here and point 
> out where the NPE is happening on line 23?
>
> 
> If you reply to this email, your message will be added to the 
> discussion below:
> http://drools.46999.n3.nabble.com/Drools-slf4j-and-Eclipse-Error-on-DroolsTest-Java-tp4027853p4027888.html
>  
>
> To unsubscribe from Drools, slf4j and Eclipse Error on 
> DroolsTest.Java, click here 
> .
> NAML 
> 
>  
>


package com.sample;

import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;

/**
 * This is a sample class to launch a rule.
 */
public class DroolsTest {

public static final void main(String[] args) {
try {
// load up the knowledge base
KieServices ks = KieServices.Factory.get();
KieContainer kContainer = ks.getKieClasspathContainer();
KieSession kSession = 
kContainer.newKieSession("ksession-rules");

// go !
Message message = new Message();
message.setMessage("Hello World");
message.setStatus(Message.HELLO);
kSession.insert(message);
kSession.fireAllRules();
} catch (Throwable t) {
t.printStackTrace();
}
}

public static class Message {

public static final int HELLO = 0;
public static final int GOODBYE = 1;

private String message;

private int status;

public String getMessage() {
return this.message;
}

public void setMessage(String message) {
this.message = message;
}

public int getStatus() {
return this.status;
}

public void setStatus(int status) {
this.status = status;
}

}

}




--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-slf4j-and-Eclipse-Error-on-DroolsTest-Java-tp4027853p4027893.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] Moves Defined from Current State

2014-01-28 Thread jonathan.labin
I'm using Optaplanner 6.0.1 and I'm having trouble defining a type of move
that I'd like to define.
In my domain, there may be an opportunity to split the value assigned to one
entity across two entities.  For example:
E1=5could become E2=2, E3=3

The trouble is that in some cases this split can be performed more than one
way.  The above example could also be split to become E2=1,E3=4, ...

At the time that the Moves is created (and initialized with entities) by the
MoveFactory, there are values assigned to the entities but those values may
change and shouldn't be part of the Move (am I right about that?).

So when Moves are executed, the values assigned could be considered to
create a set of Moves based on the current state but aren't Moves already
created long before then?  

Is there a way to generate moves based on the current state?  How do you
ensure they are not cached ore reused after that step?

Thanks,

Jon



--
View this message in context: 
http://drools.46999.n3.nabble.com/Moves-Defined-from-Current-State-tp4027892.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] Null Pointer Exception with 10K+ kBase objects

2014-01-28 Thread Mario Fusco
I downloaded your zip file and reproduced the problem you reported (even on
master branch).
I'll start investigating it in a bit and I'll keep you updated with my
findings.

Thank you,
Mario



--
View this message in context: 
http://drools.46999.n3.nabble.com/Null-Pointer-Exception-with-10K-kBase-objects-tp4027887p4027891.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] Null Pointer Exception with 10K+ kBase objects

2014-01-28 Thread jhusby
Here is my test project:  DroolsTest.zip
  

Change the TOTAL_OBJECTS member of Main.java to see the impact of having a
large number of objects:
 * If you set it to 1K, everything should work fine.
 * If you set it to 10K, it will NPE the first time but succeed afterward.
 * If you set it to 100K, it will NPE every time.

Thank you!

Joseph


Davide Sottara wrote
> Could you post the full test case (rules + java)?
> Thanks
> Davide
> 
> On 01/28/2014 05:10 PM, jhusby wrote:
>> I'm trying to stress-test Drools to see what its limits are, and I
>> stumbled
>> across a NPE when I have a large amount of facts in a stateful
>> knowledgebase:
>>
>> java.lang.NullPointerException
>>  at
>> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(PhreakTimerNode.java:355)
>>  at
>> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuples(PhreakTimerNode.java:325)
>>  at
>> org.drools.core.phreak.PhreakTimerNode.doNode(PhreakTimerNode.java:72)
>>  at
>> org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:357)
>>  at
>> org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
>>  at
>> org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
>>  at
>> org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:200)
>>  at
>> org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:67)
>>  at
>> org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:935)
>>  at
>> org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1200)
>>  at
>> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:957)
>>  at
>> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:931)
>>  at
>> org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:256)
>>
>> I have a little program that creates, populates, fires, and destroys a
>> session repeatedly.  With 10K objects in the knowledge base, I get the
>> NPE
>> the first time I loop through my program, but not subsequently (probably
>> because by the subsequent executions things have been cached).  With 100K
>> objects, I get the exception most times.  With 1M objects, I get the NPE
>> every time.
>>
>> Am I doing anything wrong or is it simply taking so long to execute all
>> the
>> rules that something times out?  Is there a timeout param I could set?
>>
>> Thank you!
>>
>> Joseph





--
View this message in context: 
http://drools.46999.n3.nabble.com/Null-Pointer-Exception-with-10K-kBase-objects-tp4027887p4027890.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] Null Pointer Exception with 10K+ kBase objects

2014-01-28 Thread Davide Sottara

Could you post the full test case (rules + java)?
Thanks
Davide

On 01/28/2014 05:10 PM, jhusby wrote:
> I'm trying to stress-test Drools to see what its limits are, and I stumbled
> across a NPE when I have a large amount of facts in a stateful
> knowledgebase:
>
> java.lang.NullPointerException
>   at
> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(PhreakTimerNode.java:355)
>   at
> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuples(PhreakTimerNode.java:325)
>   at 
> org.drools.core.phreak.PhreakTimerNode.doNode(PhreakTimerNode.java:72)
>   at
> org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:357)
>   at
> org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
>   at
> org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
>   at
> org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:200)
>   at
> org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:67)
>   at
> org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:935)
>   at
> org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1200)
>   at
> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:957)
>   at
> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:931)
>   at
> org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:256)
>
> I have a little program that creates, populates, fires, and destroys a
> session repeatedly.  With 10K objects in the knowledge base, I get the NPE
> the first time I loop through my program, but not subsequently (probably
> because by the subsequent executions things have been cached).  With 100K
> objects, I get the exception most times.  With 1M objects, I get the NPE
> every time.
>
> Am I doing anything wrong or is it simply taking so long to execute all the
> rules that something times out?  Is there a timeout param I could set?
>
> Thank you!
>
> Joseph
>
>
>
> --
> View this message in context: 
> http://drools.46999.n3.nabble.com/Null-Pointer-Exception-with-10K-kBase-objects-tp4027887.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


[rules-users] Null Pointer Exception with 10K+ kBase objects

2014-01-28 Thread jhusby
I'm trying to stress-test Drools to see what its limits are, and I stumbled
across a NPE when I have a large amount of facts in a stateful
knowledgebase:

java.lang.NullPointerException
at
org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(PhreakTimerNode.java:355)
at
org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuples(PhreakTimerNode.java:325)
at 
org.drools.core.phreak.PhreakTimerNode.doNode(PhreakTimerNode.java:72)
at
org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:357)
at
org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
at
org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
at
org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:200)
at
org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:67)
at
org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:935)
at
org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1200)
at
org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:957)
at
org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:931)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:256)

I have a little program that creates, populates, fires, and destroys a
session repeatedly.  With 10K objects in the knowledge base, I get the NPE
the first time I loop through my program, but not subsequently (probably
because by the subsequent executions things have been cached).  With 100K
objects, I get the exception most times.  With 1M objects, I get the NPE
every time.

Am I doing anything wrong or is it simply taking so long to execute all the
rules that something times out?  Is there a timeout param I could set?

Thank you!

Joseph



--
View this message in context: 
http://drools.46999.n3.nabble.com/Null-Pointer-Exception-with-10K-kBase-objects-tp4027887.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] Null pointer exception when using global in rdrl 6.0.1.F

2014-01-28 Thread SrjTx
Thanks!



--
View this message in context: 
http://drools.46999.n3.nabble.com/Null-pointer-exception-when-using-global-in-rdrl-6-0-1-F-tp4027876p4027886.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] Drools as osgi bundle in Jboss AS

2014-01-28 Thread km.sujeet
Hi, 

I am trying to run "Hello World" using drools as osgi bundle in Jboss AS.
Deployed below jars  to Jboss container :

drools-compiler-6.0.0.Beta1.jar
drools-core-6.0.0.Beta1.jar
drools-templates-6.0.0.Beta1.jar
kie-api-6.0.0.Beta1.jar
kie-internal-6.0.0.beta1.jar

While deploying my own bundle to Jboss which has "Hello World" Drools
application, I get below exception:

Caused by: org.drools.RuntimeDroolsException: Unable to load dialect
'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:321)
at
org.drools.compiler.PackageBuilderConfiguration.buildDialectConfigurationMap(PackageBuilderConfiguration.java:307)
at
org.drools.compiler.PackageBuilderConfiguration.init(PackageBuilderConfiguration.java:192)
at
org.drools.compiler.PackageBuilderConfiguration.(PackageBuilderConfiguration.java:170)
at
org.drools.builder.impl.KnowledgeBuilderFactoryServiceImpl.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactoryServiceImpl.java:22)
at
org.drools.builder.KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration(KnowledgeBuilderFactory.java:74)
at
org.drools.container.spring.beans.KnowledgeBaseBeanFactory.afterPropertiesSet(KnowledgeBaseBeanFactory.java:80)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
... 34 more
Caused by: java.lang.RuntimeException: The Eclipse JDT Core jar is not in
the classpath
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.setCompiler(JavaDialectConfiguration.java:100)
at
org.drools.rule.builder.dialect.java.JavaDialectConfiguration.init(JavaDialectConfiguration.java:61)
at
org.drools.compiler.PackageBuilderConfiguration.addDialect(PackageBuilderConfiguration.java:317)
... 42 more


Then added "org.eclipse.jdt.core_3.8.3.v20130121-145325.jar" to classpath of
OSGI bundle (Hello World Bundle) and deployed again.

Above exception has got resolved, but application is not working.
Code below :

public void start(){

logger.info("started.");
System.out.println("Hello World in client!! ");

//droolsSession = createKnowledgeSession();

MessageTest message = new MessageTest();

message.setMessage("Testing Hello World");
message.setStatus(MessageTest.HELLO);

droolsSession.insert(message);
droolsSession.fireAllRules();   


}

@SuppressWarnings("deprecation")
private StatefulKnowledgeSession createKnowledgeSession() {
System.out.println("Inside createKnowledgeSession!! ");
KnowledgeBuilderFactoryServiceImpl 
knowledgeBuilderFactoryServiceImpl  =
new KnowledgeBuilderFactoryServiceImpl();
KnowledgeBuilder kbuilder =
knowledgeBuilderFactoryServiceImpl.newKnowledgeBuilder();
kbuilder.add((Resource) new ClassPathResource("Sample.drl"),
ResourceType.DRL);

System.out.println("Completed createKnowledgeSession!! ");
if (kbuilder.hasErrors()) {
if (kbuilder.getErrors().size() > 0) {
for (KnowledgeBuilderError kerror : kbuilder.getErrors()) {
System.err.println(kerror);
}
}
}
KnowledgeBase kbase = kbuilder.newKnowledgeBase();
return kbase.newStatefulKnowledgeSession();
//return kbase.newStatefulKnowledgeSession();
}







--
View this message in context: 
http://drools.46999.n3.nabble.com/Drools-as-osgi-bundle-in-Jboss-AS-tp4027885.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] java dialect and declared types

2014-01-28 Thread pmander
I've tried to reproduce this in a tester but all my unit tests show 6.0.0
marginally quicker. The rules and data are simplified for the test so I'll
try something closer to what i am seeing on the full system. I've just done
another comparison and the results are shown in the attached image.
 
There are a number of spikes in the 6.0.1 run that don't help, but it is
clear that the 5.5.0 execution is better. I've run the tests several times
and all show the same thing.

1st col is average time - 250 jobs to process
2nd col is total time for test to complete - 10 processes executing - 48
core machine 4gb per process - mvel dialect

For 5.5.0

5854215
5707193
5629189
5512183
5607189
5395183
5369183

For 6.0.0

6229244
5828219
6076223
5767220
5735220
5821214




--
View this message in context: 
http://drools.46999.n3.nabble.com/java-dialect-and-declared-types-tp4027822p4027884.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] OptaPlanner vehicle routing problem with "multiple depots"

2014-01-28 Thread milenko
Dear Geoffrey,

I succeeded now to produce more Depots, so that each of them contains some
vehicles. The optimisation works excellent.

Some values are unclear to:

- In the XML-Input file is the customerList: what is meant by milliReadyTime
and milliDueTime (physical Dimension?). I understand that these are the
earliest and latest times at which the sevice can start. 
How can i put in real times (e.g. 9:15-10:15 and 45min ServiceDuration)?

- In the XML-Input file is the depotList: what is meant here by
milliReadyTime and milliDueTime?

Thank you very much for your help.

Best regards.
Milenko



--
View this message in context: 
http://drools.46999.n3.nabble.com/OptaPlanner-vehicle-routing-problem-with-multiple-depots-tp4027804p4027883.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