Avoiding loops
by Leonardo Gomes
Hi Droolers,
I'm trying to avoid loops and looking at different possibilities (no-loop,
activation-group, lock-on-active, etc.).
>Scenario I want to avoid:
For example, the initial facts trigger *rule 1*, which inserts new facts
that will trigger *rule 2*, which will then insert facts that would
re-trigger *rule 1*.
>Possibilities I tried:
no-loop -> just prevents the re-activation of the same rule
lock-on-active -> I can't know which rules should have lock-on-active set to
true, since I don't know what will be the initial facts.
>What I'm trying to achieve:
All rules in my rule set should execute only once. So, a rule inserts new
facts only rules that haven't executed so far, should be activated.
Is there a way to do that, let's say 'out-of-the-box', with DRL?
Thank you,
Leo.
15 years, 8 months
Globals in LHS
by Meeraj Kunnumpurath
Hi,
Can I use globals in the LHS of a rule. The rule I have is as follows,
package mypackage;
import mypackage.Payment;
global java.util.Set accountNumbers;
rule "Check debtor account number exists"
when
$p : Payment (accountNumber not memberOf $accountNumbers)
then
end
I insert an instance of HashSet using the setGlobal method on the
StatelessKnowledgeSession. However, when I execute the rule, I get the
following error.
[Error: unable to resolve method: mypackage.Payment.$accountNumbers()
[arglength=0]]
Kind regards
Meeraj
15 years, 8 months
Problem in Drools Flow
by santosh mukherjee
Hi,
How can I access the working memory of a process when inside a handler?? I
want to check if certain object is inside the working memory, then only the
process should exit from the workItem. Any idea on how this is to be done is
welcome?
Thanks
Santosh Mukherjee
15 years, 8 months
Retrieve rule names fired from StatefulknowledgeSession
by G3
Hi
I have retrieved the package from guvnor url and fired the rules using
statefulsession.fireallrules()
I can get the number of rules fired, all the rule names from the guvnor for
the model
but how can I get the names of the rules that is fired.Is there any way to
get it from the session? As my requirement needs that many users may run the
application (not the guvnor application )at the same time so each set of
rules will vary depending on the user who has logged in.
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Retrieve-rule-names-f...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 8 months
JMS Fusion entry point
by Maurizio Dosso
Hi,
we'd like to use Drools Fusion for processing RFID messages coming from vehicles to be remotely monitored.
I'm quite new to Drools and I'm looking for an example/sample code showing how to define and use a JMS topic as an event entry point for Drools Fusion rules. Can anybody point me to or provide a working code sample ?
Any help would be greatly appreciated.
Thanks a lot for helping.
Maurizio
15 years, 8 months
FW: Drools 5.1.0.M2 - WorkItemNodeInstance --Listeners can't get hold of WorkItem object
by Vijay K Pandey
Hi @Salaboy,
I am not sure if you received the email below. Thanks for looking into this.
Vijay
From: Vijay K Pandey
Sent: Tuesday, July 13, 2010 8:53 AM
To: 'Mauricio Salatino'
Subject: RE: [rules-users] Drools 5.1.0.M2 - WorkItemNodeInstance --Listeners can't get hold of WorkItem object
Thanks for a quick response. I added the Transaction Manager piece of code but the problem still persists. Also it uses the attached persistence.xml file which is placed under META-INF directory that has the correct transaction manager look up class.
Thanks
Vijay
From: Mauricio Salatino [mailto:salaboy@gmail.com]
Sent: Tuesday, July 13, 2010 6:40 AM
To: Vijay K Pandey
Subject: Re: [rules-users] Drools 5.1.0.M2 - WorkItemNodeInstance --Listeners can't get hold of WorkItem object
I've just take a quick look to your file and I notice (without running it) that you didn't set the TransactionManager property to your Environment:
env.set( EnvironmentName.TRANSACTION_MANAGER,
TransactionManagerServices.getTransactionManager() );
You also need to have the reference to bitronix inside your persistence.xml file:
<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.BTMTransactionManagerLookup"/>
Can you try this and let me know if it fix your problem?
Greetings
On Tue, Jul 13, 2010 at 12:43 AM, Vijay K Pandey <VPandey(a)mdes.ms.gov<mailto:VPandey@mdes.ms.gov>> wrote:
Thanks Salaboy for looking into this.
Here is the Junit Test case(java file attached) I created for this problem.
Line # 129 fails.
Please do let me know if I am doing something wrong or the fix has some issues or maybe there is some other way out to get hold of the "WorkItem" object in the process event listener.
Thanks
Vijay
From: rules-users-bounces(a)lists.jboss.org<mailto:rules-users-bounces@lists.jboss.org> [mailto:rules-users-bounces@lists.jboss.org<mailto:rules-users-bounces@lists.jboss.org>] On Behalf Of Salaboy
Sent: Friday, July 09, 2010 11:11 AM
To: Rules Users List
Subject: Re: [rules-users] Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
I would like to take a look on this issue. Can you provide me a test case that show the problem?
- CTO @ http://www.plugtree.com
- MyJourney @ http://salaboy.wordpress.com
- Co-Founder @ http://www.jbug.com.ar
- Mauricio "Salaboy" Salatino -
On Jul 9, 2010, at 12:43, Vijay K Pandey <VPandey(a)mdes.ms.gov<mailto:VPandey@mdes.ms.gov>> wrote:
I guess this problem was due to a fix done in WorkItemNodeInstance? Is this the correct behavior? If yes how do we get hold of "WorkItem" instance in the attached listeners?
http://fisheye.jboss.org/browse/JBossRules/trunk/drools-core/src/main/jav...
Thanks
Vijay
From: Vijay K Pandey
Sent: Tuesday, June 15, 2010 9:20 AM
To: 'Rules Users List'
Subject: RE: Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
Any one on this issue? Any Drools Flow expert?
Appreciate your time for taking a look at it.
Thanks
Vijay
From: Vijay K Pandey
Sent: Thursday, June 10, 2010 12:03 PM
To: 'Rules Users List'
Subject: RE: Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
Should I log this as a JIRA ticket.
Thanks
Vijay
From: Vijay K Pandey
Sent: Wednesday, June 09, 2010 9:57 AM
To: 'Rules Users List'
Subject: Drools 5.1.0.M2 - WorkItemNodeInstance -- Listeners can't get hold of WorkItem object
Hi,
There is a change done in Drools 5.1.0.M2 - org.drools.workflow.instance.node.WorkItemNodeInstance class in the method
public void triggerCompleted(WorkItem workItem) at line 196 which is setting the workItemId as -1
this.workItemId = -1;
Due to the above change the listeners which are attached to the "complete" event of the work item - such as the method below
public void beforeNodeLeft(ProcessNodeLeftEvent event) are not able to get hold of the associated workitem object as it returns null.
Is there any specific reason that workItemId is set to -1 even before the associated listeners get triggered or is this a bug?
If it was an intended change then how do I get hold of the "WorkItem" object in the attached listeners.
Thanks
Vijay
p.s This change was not there in the snapshot of 18th April 2010 which I was earlier working on. Above is the only change in this class from the snapshot of 18th April and 5.1.0.M2
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
--
- CTO @ http://www.plugtree.com
- MyJourney @ http://salaboy.wordpress.com
- Co-Founder @ http://www.jbug.com.ar
- Salatino "Salaboy" Mauricio -
15 years, 8 months
Error while executing business Rule
by Puneet duggal
Hi friends,
Some times i gets the error while executing rules so after that
Rules accross entire screen stops working ..
So can anyone tell me what can be the cause
why it becomes unstable after that.
Thanks
Puneet
15 years, 8 months
orm.xml for 5.1.0.M2?
by retoy
Is the orm.xml in drools-persistence-jpa-5.1.0.M2.jar still correct?
I'm getting the exception:
Error in named query: ProcessInstancesWaitingForEvent
org.hibernate.QueryException: cannot dereference scalar collection element:
name [select processInstanceInfo.processInstanceId from
org.drools.persistence.processinstance.ProcessInstanceInfo
processInstanceInfo where :type in (processInstanceInfo.eventTypes.name)]
And the query in orm.xml in fact doesn't seem to reflect the latest changes
in ProcessInstanceInfo.java (?)
--- org.drools.persistence.processinstance.ProcessInstanceInfo.java
// @OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
// @JoinColumn(name = "processInstanceId")
// private Set<EventType> eventTypes = new HashSet<EventType>();
private @CollectionOfElements
@JoinTable(name = "EventTypes", joinColumns = @JoinColumn(name =
"InstanceId"))
Set<String> eventTypes = new HashSet<String>();
--- orm.xml:
<query>
select
processInstanceInfo.processInstanceId
from
ProcessInstanceInfo processInstanceInfo
where
:type in (processInstanceInfo.eventTypes.name)
</query>
(Removing the .name in the query didn't help...)
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/orm-xml-for-5-1-0-M2-...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 8 months
Help Needed in Drools Flow
by santosh mukherjee
Hi,
I want to add some of my own customized components to Drools Flow components
pannel. How can this be done. Is there some API available to do so ??
Thanks
Santosh Mukherjee
15 years, 8 months