Hi again!
The problem occurred in Drools 5.1.0 M1 but I’ve tried with the
latest snapshot (2010-05-11) and worked fine.
Thanks for your patience!
|
|
Vítor Mendonça Moreira |
|
From: rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Makewise -
Vitor Rui Mendonça
Sent: quinta-feira, 13 de Maio de 2010 10:24
To: Rules Users List
Subject: [rules-users] Activation doubt
Hi folks!
I’m having some trouble to understand activations.
My system receives transactions and I want to detect periods of
time without transactions. If I don’t have transactions for an hour, I want to
sound an alarm.
I’ve wrote the following rules just to see how Drools works
(I’ve tried sliding windows also but without success):
declare
NoTransactions
@role( event )
timestamp: long
end
declare
EngineStart
@role( event )
timestamp: long
end
declare
Transaction
@role( event )
@expires( 1h )
end
rule "***start***"
when
not( EngineStart() )
then
insert( new
EngineStart() );
System.out.println(“engine started”);
end
rule "***notrx_after_start***"
when
$engineStart : EngineStart()
not( NoTransactions()
)
not(Transaction( this
after [0s, 1h] $engineStart ) )
then
insert ( new NoTransactions() );
System.out.println(“no transactions for an hour since engine
started”);
end
rule "***notrx_after_trx***"
when
EngineStart()
not( NoTransactions() )
$transaction : Transaction()
not( Transaction( this != $transaction, this after [0s,
1h] $transaction ) )
then
insert( new NoTransactions() );
System.out.println("no transactions for an hour
since last transaction ");
End
·
First rule inserts an Event
when rule engine starts
·
Second rule detects absence
of transactions since engine started
·
Third rule detects absence of
transactions since last transaction
The testcase is simple (using pseudoclock):
·
00h00m: rule engine start
·
00h30m: insert a transaction
·
01h01m: notification of
absence of transactions since engine started (not the desired behavior)
I’ve attached the logs and I can’t understand how an Activation
is cancelled and executed afterwards (without any creation).
Thanks for the time spent to read this email! J
|
|
Vítor Mendonça Moreira |
|