Wolfgang's answer is spot on. Pretend that you are not using an engine... imagine that you are implementing a java method in a java application to handle this use case... how would you do it? Either you use the timestamp at the source or the timestamp at the engine. Either you execute your actions at 06:00 or you don't... if an event arrives at 06:30, but was emitted at the source at 05:30, and you already executed the actions in your java method at 06:00 as you wanted, what will your method do?

   In other words, you can't selectively choose "for this event to use the timestamp at source, for that event I will use the timestamp at arrival", or your application will be inconsistent. Wire delays are a common situation in the real world, so you have to make a decision on how you will handle then and do it. For the case in the previous paragraph, the usual approach is to use compensating transactions if necessary.

   The engine allows you to do whatever your application would do. This is a design decision on the use case that has to be taken.

   Edson

On Fri, Mar 16, 2012 at 4:17 AM, javadude <sven@bighugesystems.com> wrote:
I guess the engine use the insert fact timestamp and not the annotated
timestamp for the non-existence of a event. Think it would not be easy to
implement the engine, because you need to take care of past and future
events. And for past events, both the events where the trigger did not pass
yet and events where the backdating of the event would make the trigger
already happened...

Would be interesting to hear the opinion of the core developers.

--
View this message in context: http://drools.46999.n3.nabble.com/Fusion-Insert-passed-events-tp3824630p3831195.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com