]
Vytautas Gimbutas commented on DROOLS-244:
------------------------------------------
I think @timestamp attribute isn't working as expected (or i'm misunderstanding
the whole concept).
It seems when timestamp attribute is set in the past then it will be in range of any time
of window.
Sliding windows working incorrectly
-----------------------------------
Key: DROOLS-244
URL:
https://issues.jboss.org/browse/DROOLS-244
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Reporter: Vytautas Gimbutas
Assignee: Mark Proctor
Attachments: Event.java, file.drl, Transaction.java,
TransactionCompletedEvent.java, TransactionCreatedEvent.java, TransactionEvent.java
I'm having an issue with sliding windows. For some reason even though event is in the
past it still gets into the window.
I'm attaching drl file, the event/fact classes.
I expect it to print 1 0, but instead it prints: 1 1
The code that reproduces the issue:
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
kbuilder.add(ResourceFactory.newClassPathResource("file.drl") ,
ResourceType.DRL);
if (kbuilder.hasErrors() ) {
System.out.println( kbuilder.getErrors() );
}
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
Transaction transaction = new Transaction();
TransactionCompletedEvent event = new TransactionCompletedEvent();
event.setTransaction(transaction);
ksession.insert(transaction);
Date today = new Date();
Calendar cal = new GregorianCalendar();
cal.setTime(today);
cal.add(Calendar.DAY_OF_MONTH, -30);
event.setCreated(cal.getTime());
WorkingMemoryEntryPoint wmep =
ksession.getWorkingMemoryEntryPoint("TransactionCompletedEventStream");
wmep.insert(event);
ksession.fireAllRules();
TransactionCreatedEvent event2 = new TransactionCreatedEvent();
event2.setTransaction(transaction);
ksession.insert(transaction);
ksession.getWorkingMemoryEntryPoint("TransactionCreatedEventStream").insert(event2);
ksession.fireAllRules();
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: