KIE API for Decision Tables Templates
by Andrei Ermicioi
Hi there!
I was looking on web to find if KIE provide any API for reading the Decision Tables from XLS/CSV and I was not able to find :(
Can somebody point me where I can find that or just to tell me if such API exist or not.
Thank you.
--
Andrei Ermicioi aka erani,
Software Engineer at CaseNet
Phone: +420 776 424 143
Skype: aermicioi_casenet
________________________________
CONFIDENTIALITY NOTICE: This e-mail and the information transmitted within including any attachments is only for the recipient(s) to which it is intended and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of; or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please send the e-mail back by replying to the sender and permanently delete the entire message and its attachments from all computers and network systems involved in its receipt.
11 years, 11 months
What is the compatibility matric of kie workbench 6.0.x and 6.1.x?
by Shrinath Managuli
Hi,
Will workbench 6.0 deploy on jdk7 and jee 6 and will the same work for 6.1.x?
I'm trying to deploy on WAS 8.5.5 running jdk 7.
Thanks,
Shrinath Managuli
[Aspire Systems]
This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.
11 years, 11 months
Memory leak due CompositeClassLoader
by Romain Thouvenin
Hello,
I am working on a Web application that uses a third-party component that
uses Drools 5.2.1 (I know this is old, but this is not my choice).
While investigating memory leaks in my application, I found out that after
redeploying the webapp in the application server (Weblogic), the leaking
class loader is referenced by:
org.drools.util.CompositeClassLoader.classLoaders
This is because when that class is instantiated by
org.drools.util.ClassLoaderUtil, the initial list of class loaders
includes the context class loader of the current thread, which is the
class loader of my webapp. But the class loader of CompositeClassLoader is
not the same as my webapp, so when I redeploy my webapp
CompositeClassLoader continues to exist and keep that reference to the
webapp class loader, which is therefore never garbage-collected.
Browsing a bit through the code, I see no reference to
CompositeClassLoader.removeClassLoader that could remove the faulty
reference.
So my questions are:
1) Is my investigation correct?
2) I found this thread on the list:
http://drools.46999.n3.nabble.com/permgen-leak-td4027038i20.html
Is this the same issue as mine, meaning that it is fixed in 5.6.0 and 6.0?
If yes, pushing this third-party component to upgrade is really the only
solution I have?
I am not at all a knowledgeable user of drools, I just happen to be user
of that third-party component, that is why I wanted confirmation of my
findings.
Thanks for your help!
Romain
11 years, 11 months
Linkage Error In execute method
by Karan Malhotra
Hi All,
We have recently upgraded our application from 5.1.0 to 5.4.0.Final.
Everything worked well until this was deployed at Production Envr. We started getting multiple Linkage Error in execute method of Stateless KnowledgeSession.
StackTrace:
Exception: java.util.concurrent.ExecutionException: java.lang.LinkageError: loader (instance oforg/drools/rule/JavaDialectRuntimeData$PackageClassLoader): attemptedduplicate class definition for name: "OffBarCapping/Rule_Off_Bar_Tariff_Capping_13_2a4a909def69414bbd60cdfdac9ad807"|
OffBarCapping/Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1f# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0InvokerGenerated.evaluate(Unknown Source)# at OffBarCapping.Rule_Off_Bar_Tariff_Capping_16_6b6f1282708449448fc434e820fa8e1fPredicate0Invoker.evaluate(Unknown Source)# at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:299)# at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)# at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)# at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)# at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)# at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)# at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)# at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)# at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)# at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:294)#
1. Some surfing on the internet referred us to a similar JIRA issue:- JBRULES-3675<https://issues.jboss.org/browse/JBRULES-3675>
It says this has been fixed in 6.0.0. We were not in a position to upgrade to 6.0.0 right away and hence decide to apply a patch in drools-core-5.4.0.Final.jar
Drools: 5.4.0
public Class<?> More ...fastFindClass( final String name ) {
Class<?> cls = findLoadedClass( name );
if (cls == null) {
final byte[] clazzBytes = this.store.read( convertClassToResourcePath( name ) );
if (clazzBytes != null) {
String pkgName = name.substring( 0,
name.lastIndexOf( '.' ) );
if (getPackage( pkgName ) == null) {
definePackage( pkgName,
"",
"",
"",
"",
"",
"",
null );
}
cls = defineClass( name,
clazzBytes,
0,
clazzBytes.length,
PROTECTION_DOMAIN );
}
if (cls != null) {
resolveClass( cls );
}
}
return cls;
}
Path applied:-
public Class fastFindClass(String name)
{
Class cls = findLoadedClass(name);
if(cls == null)
{
byte clazzBytes[] = store.read(JavaDialectRuntimeData.convertClassToResourcePath(name));
if(clazzBytes != null)
{
String pkgName = name.substring(0, name.lastIndexOf('.'));
if(!existingPackages.contains(pkgName))
{
synchronized(this)
{
if(!existingPackages.contains(pkgName))
{
if(getPackage(pkgName) == null)
{
definePackage(pkgName, "", "", "", "", "", "", null);
}
existingPackages.add(pkgName);
}
}
}
cls = defineClass(name, clazzBytes, 0, clazzBytes.length, JavaDialectRuntimeData.access$000());
}
if(cls != null)
{
resolveClass(cls);
}
}
return cls;
}
But we are still getting this Error.
Let me know if any one did face a similar issue and solution for the same.
Thanks and regards,
Karan Malhotra
The contents of this email, including the attachments, are PRIVILEGED AND CONFIDENTIAL to the intended recipient at the email address to which it has been addressed. If you receive it in error, please notify the sender immediately by return email and then permanently delete it from your system. The unauthorized use, distribution, copying or alteration of this email, including the attachments, is strictly forbidden. Please note that neither MakeMyTrip nor the sender accepts any responsibility for viruses and it is your responsibility to scan the email and attachments (if any). No contracts may be concluded on behalf of MakeMyTrip by means of email communications.
11 years, 11 months
Drools Workbench Camel integration
by Anton
Hi,
We are looking for the way to consume the DRLs managed in the Drools
workbench in the camel and expose them as services to the clients.
We have tried it with the sample examples (with drl files) provided in the
camel integration example and found it working. Using drools 6.0.1, now how
the workbench knowledge base should be added to the camel knowledge
services?
Searched a lot, could not find a reference/help on this regard? We are
looking for XML element like below for the file based integration
<kie:kbase name="kbase1" packages="org.drools.server">
<kie:ksession name="ksession1" type="stateless"/>
</kie:kbase>
>From the Java application, we are able to run against the workbench
knowledgebase dynamically (using maven release id). How this should be
integrated with camel services?
Regards,
Anton
--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Workbench-Camel-integration-tp40...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 11 months
Deploying kie-drools workbench 6.1 beta on websphere liberty 8.5.5 gives classpath errors
by Shrinath Managuli
Hi ,
I ran kie-drools workbench 6.1 beta on websphere liberty 8.5.5 and gives manifest file related errors as below. I tried to add jars but spent all the time just find that again it asks for other jars in loop with different versions of same jars.
Need help on this..
Error:
The manifest class path avalon-framework-4.2.0.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent.
[4/4/14 18:31:12:530 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path batik-all-1.7.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent.
[4/4/14 18:31:12:531 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path commons-io-1.3.1.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent.
[4/4/14 18:31:12:531 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path commons-logging-1.0.4.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent.
[4/4/14 18:31:12:532 IST] 00000012 m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path serializer-2.7.0.jar can not be found in jar file file:/D:/Program%20Files/IBM/Liberty/usr/servers/guvnor/apps/drools6/WEB-INF/lib/fop-0.95.jar or its parent.
.......
Thanks
Shrinath
[Aspire Systems]
This e-mail message and any attachments are for the sole use of the intended recipient(s) and may contain proprietary, confidential, trade secret or privileged information. Any unauthorized review, use, disclosure or distribution is prohibited and may be a violation of law. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message.
11 years, 11 months
Drools Fusion inconsistencies at increasing event throughputs
by Vieri
Dear Drools Experts,
*Short version*
1. Cron-based rules triggers (more than once) for a full second, rather
than once every defined period;
2. After some time, event creation from the drl seems to hang. The "time
to hang" decreases as we increase the throughput of incoming events;
3. The two issues seem to be somehow related (well, maybe).
*Full version*
We are testing Drools Fusion to implement CEP functionalities in our
platform. We are performing these tests using Drools 6.0.1.Final.
As a basic test case, we set up a synthetic stream of events, and defined a
couple of rules to implement a simple throughput metric. Here's the
complete drl:
*package* it.intext.unity.test
*import* it.intext.unity.test.SynthEvent;
*import* java.util.Date;
*global* org.slf4j.Logger logger;
*declare* SynthEvent
@role( event )
@timestamp( timestamp )
*end*
*declare* EventCounter
@role( event )
@timestamp( timestamp )
id : *long*
key : String
timestamp : Date
*end*
// Business rules
*rule* "Create counter"
*when*
$e : SynthEvent() *from* entry-point "synth"
*then*
entryPoints["counters"].*insert*(*new* EventCounter( $e.getId(), "event",
$e.getTimestamp() ) );
*end*
// Metrics
*rule* "Count epm"
// Emit count every 10s, accumulate over 1m
timer ( cron: 0/10 * * * * ? )
*when*
Number( $count : intValue ) *from* *accumulate*(
EventCounter( key == "event" ) over window:time( 60s
)*from*entry-point
"counters", count(1) )
*then*
logger.debug("epm = {}", $count );
*end*
The SynthEvent class is very basic:
*public* *class* SynthEvent {
*long* id;
Date timestamp;
List<String> meta;
... // Getters/Setters and constructors omitted
}
Now, the test is performed running the session in one thread (code below)
*private* *void* process(*final* KieSession session) {
*new* Thread(){
*public* *void* run() {
session.fireUntilHalt();
};
}.start();
}
while feeding the events on a second thread (code below)
*private* *void* feed(*final* KieSession session) {
*new* Thread(){
@SuppressWarnings("unchecked")
*public* *void* run() {
*try* {
*int* counter = 0;
*while*(*true*) {
counter++;
session.execute(CommandFactory.
*newInsert*(createEvent(), *null*, *false*, "synth"));
Thread.*sleep*(getSleepRate());
*if* ((counter % 1000) == 0) {
*logger*.debug("Total events: {}",
counter);
}
}
} *catch* (InterruptedException e) {
*logger*.warn("{}", e);
}
};
}.start();
}
I expected the cron rule "count epm" to trigger once every 10 seconds. But
here's an extract from the log (running at 5 events per second +/- 20%):
[DEBUG] 2014-03-25 04:56:10.008
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 1
[DEBUG] 2014-03-25 04:56:10.075
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2
[DEBUG] 2014-03-25 04:56:10.262
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 3
[DEBUG] 2014-03-25 04:56:10.507
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 4
[DEBUG] 2014-03-25 04:56:10.678
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 5
[DEBUG] 2014-03-25 04:56:10.871
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 6
[DEBUG] 2014-03-25 04:56:20.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 50
[DEBUG] 2014-03-25 04:56:20.042
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 51
[DEBUG] 2014-03-25 04:56:20.231
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 52
[DEBUG] 2014-03-25 04:56:20.405
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 53
[DEBUG] 2014-03-25 04:56:20.647
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 54
[DEBUG] 2014-03-25 04:56:20.823
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 55
[DEBUG] 2014-03-25 04:56:20.992
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 56
As you can see, the "count epm" rules fires once per incoming event for a
full second (e.g. for the second cycle we see the first activation at
04:56:20.001 and the last one at 04:56:20.992).
This is not a major issue, since it can be solved with a sort-of
publish/subscribe pattern which, BTW, increases the system stability (if
anyone is interested I can post more details on the list).
Anyhow, the test ran for more than 20' consistently until we decided it was
enough.
Now, the problem is that as we increase the throughput (e.g. 50 events per
second), the test runs for a few minutes before it becomes inconsistent.
The evidence is that the first rule stops to trigger, and EventCounter
aren't created anymore. Here's a log extract:
[DEBUG] 2014-03-25 07:37:40.008
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 199
[DEBUG] 2014-03-25 07:37:40.017
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 200
[DEBUG] 2014-03-25 07:37:40.034
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 201
[DEBUG] 2014-03-25 07:37:40.058
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 202
[DEBUG] 2014-03-25 07:37:40.076
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 203
*... here the system is stable as we get about 3K events per minute as
expected*
[DEBUG] 2014-03-25 07:38:36.022 (StreamTester.java:run:70) Total events:
3000
[DEBUG] 2014-03-25 07:38:40.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2999
[DEBUG] 2014-03-25 07:38:40.016
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2998
[DEBUG] 2014-03-25 07:38:40.024
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2999
[DEBUG] 2014-03-25 07:38:40.034
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2998
[DEBUG] 2014-03-25 07:38:40.047
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2999
[DEBUG] 2014-03-25 07:38:40.057
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2998
...
[DEBUG] 2014-03-25 07:39:50.974
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 3008
[DEBUG] 2014-03-25 07:39:50.988
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 3007
[DEBUG] 2014-03-25 07:39:50.996
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 3008
[DEBUG] 2014-03-25 07:39:55.842 (StreamTester.java:run:70) Total events:
7000
*... Somewhere in between the system becomes inconsistent and the number of
events decreases to 0*
[DEBUG] 2014-03-25 07:40:00.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2734
[DEBUG] 2014-03-25 07:40:00.017
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2733
[DEBUG] 2014-03-25 07:40:00.037
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 2732
...
[DEBUG] 2014-03-25 07:40:50.937
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 181
[DEBUG] 2014-03-25 07:40:50.953
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 180
[DEBUG] 2014-03-25 07:40:50.975
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 179
[DEBUG] 2014-03-25 07:40:50.997
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 178
[DEBUG] 2014-03-25 07:40:55.438 (StreamTester.java:run:70) Total events:
10000
[DEBUG] 2014-03-25 07:41:00.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 0
[DEBUG] 2014-03-25 07:41:10.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 0
We added a quick rule to count "live EventCounter"
*rule* "Count live counters"
timer ( cron: 0/60 * * * * ? )
*when*
Number( $count : intValue ) *from* *accumulate*(
EventCounter( key == "event" ) *from* entry-point "counters",
count(1) )
*then*
logger.debug("Live counters = {}", $count );
*end*
and, again, the evidence is that when things go wrong the EventCounter
events aren't created anymore.
[DEBUG] 2014-03-25 07:40:55.438 (StreamTester.java:run:70) Total events:
10000
[DEBUG] 2014-03-25 07:41:00.001
(Rule_Count_live_counters1625367465.java:defaultConsequence:14) Live
counters = 0
[DEBUG] 2014-03-25 07:41:00.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 0
[DEBUG] 2014-03-25 07:41:10.001
(Rule_Count_epm442808096.java:defaultConsequence:14) epm = 0
Adding a debug line in the "Create counter" rule confirm this hypotesis
(after a while the rule won't trigger anymore). Modified rule is:
*rule* "Create counter"
*when*
$e : SynthEvent() *from* entry-point "synth"
*then*
entryPoints["counters"].*insert*( *new* EventCounter( $e.getId(),
"event", $e.getTimestamp() ) );
*if* (Math.random() < 0.01) logger.debug("New event: {}", $e.getId());
*end*
When the system becomes inconsistent, we stop seeing "New event" log lines.
What are we missing? Any suggestion? Anyone experienced the same problems
we have?
Your help will be greatly appreciated.
Thanks in advance,
Vieri
11 years, 11 months
Re: [rules-users] rules-users Digest, Vol 89, Issue 11
by Mallikarjun Kohalli (mkohalli)
Hi All,
I have a single thread executing all my rules in DROOLS 5.1.0.Can I enable multiple threads to be running in the drools using thread pool to execute the rules so that execution can be faster .
I would like to know the configurations that should be made in 5.1.0 verison .
Regards,
Mallikarjun K
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of rules-users-request(a)lists.jboss.org
Sent: Thursday, April 03, 2014 1:13 PM
To: rules-users(a)lists.jboss.org
Subject: rules-users Digest, Vol 89, Issue 11
Send rules-users mailing list submissions to
rules-users(a)lists.jboss.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.jboss.org/mailman/listinfo/rules-users
or, via email, send a message with subject or body 'help' to
rules-users-request(a)lists.jboss.org
You can reach the person managing the list at
rules-users-owner(a)lists.jboss.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of rules-users digest..."
Today's Topics:
1. Re: External Imports (Michael Anstis)
2. Re: Memory leak due CompositeClassLoader (Romain Thouvenin)
3. Re: Random rule fire (Wolfgang Laun)
4. Re: Random rule fire (Wolfgang Laun)
5. Re: Drools 6 and OSGi (Florian Pirchner)
----------------------------------------------------------------------
Message: 1
Date: Thu, 3 Apr 2014 07:03:09 +0100
From: Michael Anstis <michael.anstis(a)gmail.com>
Subject: Re: [rules-users] External Imports
To: Rules Users List <rules-users(a)lists.jboss.org>
Message-ID:
<CAAG9P0vfshuCiYWhpVEBJvOe3Eh58xj3RdCYCdRYte0YeCW07A(a)mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
These should be added as "Import suggestions" in the Project Editor in the Authoring Perspective.
Sent on the move
On 2 Apr 2014 22:22, "vvicky72" <vvicky72(a)hotmail.com> wrote:
> I am using the latest drools wb on jboss as7.
>
> Trying to add java.lang.ArrayList to the project.imports. But the New
> item button is disabled. Screen shot attached. Any ideas?
> <http://drools.46999.n3.nabble.com/file/n4029102/DroolsCannotImport.jp
> g>
>
> Thanks,
> Vikas.
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/External-Imports-tp4029102.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
11 years, 11 months
Drools 6 and OSGi
by Florian Pirchner
Hi,
today i started to setup Drools 6 in my OSGi container. But it seems
there are some issues that do not allow to run drools 6 (and jbpm) under
OSGi properly.
For instance:
JPAKnowledgeService
.newStatefulKnowledgeSession(kieBase, null, env);
will never find "org.drools.persistence.jpa.KnowledgeStoreServiceImpl"
since it is not in the scope of the current ClassLoader.
Tried to tie things up, but then there would be a cyclic dependency
between kie-internal and jbpm-persistence-jpa.
I also could see, that a ProjectClassLoader was added. I found a way to
put my current BundleClassLoader as its parent into play. This solves a
lot of class loading issues.
For me it seems, that Drools 6 was not designed to run in an OSGi
container. Is there ongoing work to integrate Drools and JBPM Version
6.x into OSGi environments properly?
--
Thanks for your answer
Florian Pirchner
11 years, 11 months
Random rule fire
by vvicky72
We have a unique situation. Using guided decision tables, we want a
particular rule to fire randomly even when all the conditions on the "when"
clause are satisfied.
So...
We want to assign a positive integer to every rule (say n). We want that
rule to fire only when
"new Random().nextInt(n)+1 = n" is true (along with other conditions in the
rule)
Any suggestions?
Thanks,
Vikas.
--
View this message in context: http://drools.46999.n3.nabble.com/Random-rule-fire-tp4029103.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 11 months