Re: [rules-users] Expert versus Expert
by martindavid@free.fr
Hi, thanks for the tips.
I wasn't aware of drools-server. There's not much documentation about it, especially how it can work with Guvnor in order to get the assets. Or maybe I wasn't able to find it.
Such a centralized approach makes sense to me, I hope it to be a reality soon.
David
----- Mail Original -----
De: "Mark Proctor" <mproctor(a)codehaus.org>
À: rules-users(a)lists.jboss.org
Envoyé: Jeudi 14 Avril 2011 16h07:10 GMT +01:00 Amsterdam / Berlin / Berne / Rome / Stockholm / Vienne
Objet: Re: [rules-users] Expert versus Expert
On 14/04/2011 09:11, delirii wrote:
> A few months ago a question was asked about the difference and the use case
> involving Drools Expert and Drools Guvnor.
>
> To be honest, it isn't clear for me too and as there wasn't any answer to
> this first question, so I'm trying to have an answer with your help :)
>
> What's clear :
> - Guvnor is a repository for the assets
> - The easiest (?) and certainly the mainly available as a tutorial solution
> is to create in each application an agent that grabs the assets and execute
> the whole thing in its own context.
>
> What's not clear :
> - how to centralize the execution in order to know exactly what's executed,
> by whom, and how (be able to log which facts are sent, to which rules, and
> be able to read the execution plan
> - if it exists a "real" stand alone centralized engine that match this need
> (Drools Expert ?)
>
> If some can explain this a little bit more, I'll be really happy to read !
> And if it can be added to the current documentation, it could be a great
> idea too.
>
I think that's fair. We don't have centralised management of expert
runtime's yet. It's currently de-coupled via a pull mechanism.
Mark
> Thanks for your help.
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/Expert-versus-Expert-tp1739141p2819515....
> 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
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
15 years
help! rule"rule_key" failed to predicate
by 赵慧
hello,everyone! I wrote a rule with Drools, I compile the program and get the errors as follows:
[3,0]: [ERR 103] Line 3:0 rule 'rule_key' failed predicate: {(validateIdentifierKey(DroolsSoftKeywords.RULE))}? in rule
[3,9]: [ERR 101] Line 3:9 no viable alternative at input 'com' in rule package
[7,0]: [ERR 101] Line 7:0 no viable alternative at input 'import' in rule package in rule sample
I don't know how it happened, looking forward to your reply! thank you !!!
PS: My rules are here:
dialect "mvel"
package com.sample
import com.sample.Server;
rule "system will execute 'tc' command"
when
eval(Server.Message>8388608)
then
System.out.println("The network is so crowd that it needs repairing.");
Runtime.getRuntime().exec("tc");#give the authority and execute the "tc" command
end
rule "caution"
when
eval(Server.Message==8388608)
then
System.out.println("caution!The network maybe will get blocked very soon.");
end
rule "fluent network"
when
eval(Server.Message<8388608)#conditions
then
System.out.println("the current network is very good");#actions
end
15 years
Re: [rules-users] execute particular rules programmatically and dynamically
by Robert Christenson
I will concede that we had discussed an AgendaFilter only recently and a prototype did prove successful.
It may not be ideal and based on this thread I'm challenging my team for a pure rule solution.
Our specific issue is that the rules need to activate both when a field is tabbed off in a GUI, but also as a result of a higher-level validation of all data within our larger dog show event. In this case, if I added specific logic to the rule, how/when could the rule activate when the overall event is submitted to the session? Perhaps Context( (action == all) || (action == taboff, fieldsAffected contains field1)
I viewed the filter as a direct way to allow the activations to be filtered (in the case of taboff, keep only the rules affected by the field)
I would welcome any suggestions, I'm still trying to learn as much as I can.
Sorry for the smell.
-bob
15 years
Drools Guvnor with JasperReport
by danielnb
Hi guys.
I have a problem using guvnor + jasperreport, i always receive perm gem
space.
I tried many forums, all of them said to set jvm memory up, like this :
-Xms1024m -Xmx1024m
I did it and keep getting the perm gem space error.
I want to know if anyone of you guys have been through this problem, if you
have some ideas how can i solve it. anything that might help.
Thank you. :D
--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Guvnor-with-JasperReport-tp28205...
Sent from the Drools: User forum mailing list archive at Nabble.com.
15 years
Problem with rule: Unexpected exception executing action org.drools.reteoo.PropagationQueuingNode$PropagateAction@631b86c7
by quivler
Hey I'm getting the following Error "Unexpected exception executing action
org.drools.reteoo.PropagationQueuingNode$PropagateAction@631b86c7" with one
off my rules in my project.
The problem is linked with the use of two after statements in one rule.
If I delete one of them everything works like a charm.
The rule looks like this:
// Regeln
rule "Vergessene Herdplatte"
when
// Platte wurde eingeschaltet und es steht kein Topf auf ihr
$platte: HerdplatteEingeschaltet( plateOccupied == false ) from
entry-point events
// und in den nächsten 20 sek wird die gleiche Platte nicht
ausgeschaltet
not( HerdplatteAusgeschaltet( this.nummer == $platte.nummer, this
after[0s,20s] $platte ) from entry-point events )
// oder es wird in den nächsten 20 sek kein Topf auf die Platte
gestellt
not( TopfAufHerdplatte( this.nummer == $platte.nummer, this
after[0s,20s] $platte ) from entry-point events )
then
System.out.println("Vergessene Herdplatte erkannt!");
end
If I comment one of the not-clause out, it works.
I created an unit-test
http://drools.46999.n3.nabble.com/file/n2821121/TestProject.zip
TestProject.zip which reproduces the exception.
And here the Failure Trace:
org.drools.RuntimeDroolsException: Unexpected exception executing action
org.drools.reteoo.PropagationQueuingNode$PropagateAction@631b86c7
at
org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1473)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:182)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:145)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:96)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:44)
at com.sample.FusionTest.testRule(FusionTest.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.NullPointerException
at
org.drools.time.impl.CompositeMaxDurationTimer.createTrigger(CompositeMaxDurationTimer.java:58)
at org.drools.common.Scheduler.scheduleAgendaItem(Scheduler.java:55)
at org.drools.common.DefaultAgenda.scheduleItem(DefaultAgenda.java:314)
at
org.drools.reteoo.RuleTerminalNode.assertLeftTuple(RuleTerminalNode.java:185)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
at org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:101)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
at org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:101)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:64)
at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:128)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at
org.drools.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:347)
at
org.drools.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:229)
at
org.drools.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:443)
at
org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1471)
... 29 more
Can anybody please help me.
Thanks in advance.
Armin
--
View this message in context: http://drools.46999.n3.nabble.com/Problem-with-rule-Unexpected-exception-...
Sent from the Drools: User forum mailing list archive at Nabble.com.
15 years
Re: [rules-users] execute particular rules programmatically and dynamically
by Robert Christenson
We've come across something similar in our project just recently as well.
We have a requirement to have some rules activate based on a tab-off action but also at a higher level (such as validating an entire event entry in the GUI). I also need these rules to activate if initiated from an external webservice (no GUI at all).
What we've decided to utilize is a meta identifier in certain rules called FieldsAffected which may contain a delimited list of field identifiers.
An AgendaFilter implementation is created for GUI side requests and passed to fireAllRules. The filter implementation compares any/all field identifiers passed within the request and keeps only those activations which contain the field identifier in it's metadata field.
Our RHS creates a validation msg which contains the field identifiers so that the calling GUI can display the proper msgs to the field.
This allows us to support multiple call scenarios without duplicating the logic in multiple rules just based on context info.
Hope this helps,
Bob Christenson
> ------------------------------
>
> Message: 2
> Date: Thu, 14 Apr 2011 15:23:44 +0800
> From: Benson Fung <benson.redhat(a)gmail.com>
> Subject: Re: [rules-users] execute particular rules programmatically
> and dynamically
> To: Rules Users List <rules-users(a)lists.jboss.org>
> Message-ID: <BANLkTi=OGO=rWFEnYBHM144GVSt+P_KVtQ(a)mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Thanks Michael, let me think about your solution seriously afterwards.
> Actually, I am using GWT.
> I would like to say that sometimes customer's requirement is picky and
> unexpectable. They really want to have close coupling between UI and
> Rules. haha..... :) Do you think it is helpless as a
> consultant??? :~(
>
> If anyone has another idea of this scenario, you are welcome to post
> your idea out there.
>
>
> Thank you very much
>
>
>
> 2011/4/14 Michael Anstis <michael.anstis(a)gmail.com>:
>> In my example Rule 1 was shared between "screen1.panel1.editbox1" and
>> "screen1.panel1.editbox2":-
>>
>> rule "Rule1"
>> ? salience 1
>> ? dialect "mvel"
>> ??? when
>> ????? ApplicationContext( context in ("screen1.panel1.editbox1",
>> "screen1.panel1.editbox2") )
>> ? ? ? ad : ApplicationData( age == "" || ( ?== null ))
>> ? ? then
>> ? ??? ad.setReturnMsg( "\n age should not be null or empty" );
>> end
>>
>> This is an approach and may not be the best available; I was trying to
>> demonstrate how your problem can be solved without having to worry about
>> explicitly executing individual rules.For example, depending on what UI
>> technology you are using (Swing, JSF) you could subclass the UI components
>> and use these as facts - but such close coupling between UI and Rules may be
>> undesirable.
>>
>> With kind regards,
>>
>> Mike
>>
>> On 14 April 2011 03:52, Benson Fung <benson.redhat(a)gmail.com> wrote:
>>>
>>> Good, Michael.
>>>
>>> 'context' is used to distinguish which part of the UI which will be
>>> validated, right? ?The customer will ask if they have 10000 rules in
>>> the rulebase. ?And some of them are redundant, so they want to make
>>> some of the rules share with several part of UI, e.g. ?editbox 6,
>>> editbox 7 and editbox 8 these 3 boxes' value range is within 0 and
>>> 600. ?Therefore, Rule3 can be shared for these 3 editbox validation,
>>> right? ?However, for the context variable approach, it seems Rule3
>>> cannot be shared for another editbox with same value range validation.
>>> ?So these could be a key for the BRMS/Drools.
>>>
>>>
>>> Benson
>>>
>>> 2011/4/14 Michael Anstis <michael.anstis(a)gmail.com>:
>>>> Sure, whenever you copy values from your UI to your model for validation
>>>> you
>>>> also enter a fact representing the "context" of the values.
>>>>
>>>> Using your example you have two edit boxes on one screen and your rule
>>>> simply checks for the value of a single edit box; in this case the
>>>> context
>>>> differentiates the two.
>>>>
>>>> Walking your example:
>>>>
>>>> (1) When editbox 1 looses focus you copy the value from the dropdown and
>>>> edit box 1 into your model, plus you enter a "context" fact stating that
>>>> these values relate to that part of the UI (say
>>>> "screen1.panel1.editbox1").
>>>> You then insert these facts into WM and call fireAllRules. The rules
>>>> check
>>>> the "context" and only execute if the values are for the (rule)
>>>> applicable
>>>> context. (2) Editbox 2 works in a similar way, but has a different
>>>> context
>>>> ((say "screen1.panel1.editbox2").
>>>>
>>>> Have a look at Plugtree - I believe they're quite well customed to
>>>> writing
>>>> UIs backed with rules; salaboy or esteban (or IRC #drools) might be able
>>>> to
>>>> offer more practical advice.
>>>>
>>>> With kind regards,
>>>>
>>>> Mike
>>>>
>>>>
>>>>
>>>> On 13 April 2011 17:48, Benson Fung <benson.redhat(a)gmail.com> wrote:
>>>>>
>>>>> Hi Michael,
>>>>>
>>>>> Can you elaborate more for the uses of the ApplicationContext? ?I
>>>>> can't follow its uses.
>>>>>
>>>>>
>>>>> Thanks
>>>>> Benson
>>>>>
>>>>> 2011/4/14 Michael Anstis <michael.anstis(a)gmail.com>:
>>>>>> Here's a quick (and probably sub-optimal way) ;)
>>>>>>
>>>>>> When you copy values from the UI to Facts for validation you also
>>>>>> include
>>>>>> the context of the validation.
>>>>>>
>>>>>> I've also removed the inline evals you were using.
>>>>>>
>>>>>> rule "Rule1"
>>>>>> ? salience 1
>>>>>> ? dialect "mvel"
>>>>>> ??? when
>>>>>> ????? ApplicationContext( context == "*" )
>>>>>> ? ? ? ad : ApplicationData( age == "" || ( ?== null ))
>>>>>> ? ? then
>>>>>> ? ??? ad.setReturnMsg( "\n age should not be null or empty" );
>>>>>> end
>>>>>>
>>>>>> rule "Rule2"
>>>>>> ? dialect "mvel"
>>>>>> ??? when
>>>>>> ? ??? ApplicationContext( context == "screen1.panel1.ed" )
>>>>>> ? ? ? ad : ApplicationData( $age : age != null , age != "" , age < 0
>>>>>> ||
>>>>>>>
>>>>>> 100, minIssrdAge == "Years" )
>>>>>> ? ? then
>>>>>> ? ??? ad.setReturnMsg( "\nage is out of the range(i.e. ?< 0 and >
>>>>>> 100)"
>>>>>> );
>>>>>> end
>>>>>>
>>>>>> rule "Rule3"
>>>>>> ?? dialect "mvel"
>>>>>> ? ?? when
>>>>>> ? ? ?? ad : ApplicationData( $age : age != null , age != "" , age <0
>>>>>> ||
>>>>>>>
>>>>>> 600, minIssrdAge == "Years" )
>>>>>> ? ?? then
>>>>>> ? ? ?? ad.setReturnMsg( "\nage is out of the range(i.e. ?< 0 and >
>>>>>> 600)"
>>>>>> );
>>>>>> end
>>>>>>
>>>>>> On 13 April 2011 17:19, Benson Fung <benson.redhat(a)gmail.com> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Here is the scenario :
>>>>>>>
>>>>>>> If there are 2 edit boxes and 2 dropdown list at the frontend like.
>>>>>>>
>>>>>>>
>>>>>>> dropdown(minIssrdAge1) ? editbox(age1)
>>>>>>> dropdown(minIssrdAge2) ? editbox(age2)
>>>>>>>
>>>>>>> everytime when I lost focus the editbox(age1 or age2), ?the
>>>>>>> editbox(age1 or age2) value will be validated against the following
>>>>>>> rules.
>>>>>>> i.e. ?minIssrdAge1 and age1 will be validated together if lost focus
>>>>>>> the editbox age1.
>>>>>>> ? ? ? minIssrdAge2 and age2 will be validated together if lost focus
>>>>>>> the editbox age2
>>>>>>>
>>>>>>> Rule1 is mandatory because both editbox are required field.
>>>>>>> However, editbox(age1) is only valid within the 0 and 100. ?and
>>>>>>> editbox(age2) is only valid within 0 and 600.
>>>>>>>
>>>>>>> In other words, editbox(age1) have to be validated against Rule1 +
>>>>>>> Rule2. ?However, editbox(age2) have to validated against Rule1 +
>>>>>>> Rule3.
>>>>>>>
>>>>>>> My question, how to design the rule attribute or at the java program
>>>>>>> side so that different editbox can be validated against different
>>>>>>> rule.
>>>>>>>
>>>>>>> Please help. ?I can't find any solution by now.
>>>>>>>
>>>>>>> rule "Rule1"
>>>>>>> ? ? ? ?salience 1
>>>>>>> ? ? ? ?dialect "mvel"
>>>>>>> ? ? ? ?when
>>>>>>> ? ? ? ? ? ? ? ?ad : ApplicationData( age == "" || ( ?== null ))
>>>>>>> ? ? ? ?then
>>>>>>> ? ? ? ? ? ? ? ?ad.setReturnMsg( "\n age should not be null or empty"
>>>>>>> );
>>>>>>> end
>>>>>>>
>>>>>>>
>>>>>>> rule "Rule2"
>>>>>>> ? ? ? ?dialect "mvel"
>>>>>>> ? ? ? ?when
>>>>>>> ? ? ? ? ? ? ? ?ad : ApplicationData( $age : age != null , age != ""
>>>>>>> ,
>>>>>>> minIssrdAge
>>>>>>> == "Years" )
>>>>>>> ? ? ? ? ? ? ? ?eval(Integer.parseInt($age) < 0) or
>>>>>>> eval(Integer.parseInt($age) > 100)
>>>>>>> ? ? ? ?then
>>>>>>> ? ? ? ? ? ? ? ?ad.setReturnMsg( "\nage is out of the range(i.e. ?< 0
>>>>>>> and >
>>>>>>> 100)" );
>>>>>>> end
>>>>>>>
>>>>>>> rule "Rule3"
>>>>>>> ? ? ? ?dialect "mvel"
>>>>>>> ? ? ? ?when
>>>>>>> ? ? ? ? ? ? ? ?ad : ApplicationData( $age : age != null , age != ""
>>>>>>> ,
>>>>>>> minIssrdAge
>>>>>>> == "Years" )
>>>>>>> ? ? ? ? ? ? ? ?eval(Integer.parseInt($age) < 0) or
>>>>>>> eval(Integer.parseInt($age) > 600)
>>>>>>> ? ? ? ?then
>>>>>>> ? ? ? ? ? ? ? ?ad.setReturnMsg( "\nage is out of the range(i.e. ?< 0
>>>>>>> and >
>>>>>>> 600)" );
>>>>>>> end
>>>>>>> _______________________________________________
>>>>>>> rules-users mailing list
>>>>>>> rules-users(a)lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> rules-users mailing list
>>>>>> rules-users(a)lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> rules-users mailing list
>>>>> rules-users(a)lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>> rules-users(a)lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users(a)lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
15 years
Rule Templates
by FrankVhh
Hi all,
In the Expert Guide and on some places on the internet, I read about Rule
Templates.
I think this is a very interesting feature. However, the expert manual
states to use it with caution as it is still an experimental feature.
Also, there isn't that much information on the web either.
Is it already encouraged to use it in production, or is it still very much
in a development phase and should it only be used for educational purposes?
Thanks a lot & lots of regards,
Frank
--
View this message in context: http://drools.46999.n3.nabble.com/Rule-Templates-tp2820139p2820139.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
15 years
execute particular rules programmatically and dynamically
by Benson Fung
Hi,
If there are 10 rules in the drools rulebase, and right now I would
like to execute one of the particular rule. Is there any approach/way
to execute particular rule programmatically? I don't think
agenda-group or activation-group can do that, right? Or is it
possible to create an agenda programmatically ?
Thanks
15 years
Retrieving rule configuration
by Randhish Raghavan
Hello,
A sample rule that I have created is listed below:
rule 'Abnormal time MBP Enrollment'
dialect 'mvel'
ruleflow-group "enrl.ruleflowgroup.detailRuleFlowGroup"
when
ruleData : EnrlRuleData()
then
-----
end
Is there any way I can retrieve the rule flow group name ("enrl.ruleflowgroup.detailRuleFlowGroup") when rules are loaded (Ex: using KnowledgeBaseListener)?
Thanks
Randhish
________________________________
http://www.mindtree.com/email/disclaimer.html
15 years
Expert versus Expert
by Charles SOUILLARD
Hi all,
i'm a newbie on Drools and want to understand the general architecture of
the solution.
Is it true that Drools Guvnor helps managing rules definition but it is not
a rule server ? Meaning we can define, update, archive, test... rules but
not execute them in Guvnor?
My understanding is that Drools expert is the engine, let's say the rules
server) on which one rules are executed. Is there any graphical tool to
manage this engine? I mean to add/remove rules, access a dashboard... Is it
drools-server.war?
Is there any pre installed runtime environment with the engine and - if
there is one - the management console?
I tried drools-install.zip with ant install.demo but it doesn't work for
me...
Thanks a lot for your feedback, I'm waiting to test it!
Charles Souillard
15 years