<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Thank you, Edson. :)<br>
    <br>
    I've got two more questions about that for now.<br>
    <br>
    The first one is kind of ... ugly. <br>
    I know the stream mode needs a time-ordered stream so that the
    processing can be done correctly. In my case it can not really be
    predicted at which time an event arrives so that the
    system/application clock and the timestamp contained in the events
    are not synchronous.<br>
    Let's say that delta-t is the relation between the time a object is
    send and received. The send time is reflected by the timestamp of
    the object which is referenced using @timestamp. In my case there
    does no Delta-t exists that expresses&nbsp; sendTime+Delta-t=receiveTime.
    Therefore a event A with ts=10h15m03s10ms can arrive at
    tr=10h15m04s49ms and a event B with ts=10h15m17s30ms can arrive at
    tr=10h15m20s55ms.<br>
    If I've got now the rule<br>
    &nbsp; $a : A()<br>
    &nbsp; $b : B(this after[0,20s] $a) <br>
    Will the engine 'count' and wait the 20 seconds for a appropriate
    event B? Or how would it work?<br>
    <br>
    <br>
    The second question is more simple.<br>
    If I use <br>
    <div>&nbsp; $a : A()</div>
    <div>&nbsp; $b : B( this before[0,3m] $a )</div>
    How does the engine handle the automatic life cycle managment? Will
    every B will be kept for 3 minutes to see if there will be a related
    A?<br>
    <br>
    Thank you! :)<br>
    Tina<br>
    <br>
    <br>
    <blockquote
      cite="mid:AANLkTinWMis=0mpyW_3UdfbtCMGN+9uPoS0aHK2_6AKa@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      &nbsp;&nbsp; Drools also use the 13 temporal operators as "hints", so if you
      have a rule:
      <div><br>
      </div>
      <div>$a : A()</div>
      <div>$b : B( this after[0,3m] $a )</div>
      <div><br>
      </div>
      <div>&nbsp;&nbsp; Drools will know that A's must be held in memory for 3
        minutes while B's will expire immediately. Drools will calculate
        all possible expiration offsets based on all used temporal
        operators.</div>
      <div><br>
      </div>
      <div>&nbsp;&nbsp; In case no expiration offset can be calculated for a given
        event (i.e., no temporal operator was used, no sliding window,
        no @expires policy, resulting in expiration offset to be
        infinity), the event is help in memory until explicitly
        retracted.</div>
      <div><br>
      </div>
      <div>&nbsp;&nbsp; Edson<br>
        <br>
        <div class="gmail_quote">2010/8/23 Tina Vie&szlig;mann <span
            dir="ltr">&lt;<a moz-do-not-send="true"
              href="mailto:tviessmann@stud.hs-bremen.de">tviessmann@stud.hs-bremen.de</a>&gt;</span><br>
          <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
            0.8ex; border-left: 1px solid rgb(204, 204, 204);
            padding-left: 1ex;"> &nbsp;Hi,<br>
            <br>
            I'm thinking about something. Maybe anyone can tell me.<br>
            <br>
            The Stream Processing Mode of Drools Fusion provides
            automatic lifecycle<br>
            managment. For my understandings this is based on the
            sliding windows<br>
            used inside the rule conditions, the @expires metadata and
            the @delay<br>
            metadata. Am I right so far?<br>
            My questions is now: How are Events handled if non of the
            things listed<br>
            above are used?<br>
            <br>
            Let's say I've got rules just using the temporal reasoning
            operators<br>
            inside the rule conditions - no sliding windows at all. I'm
            also not<br>
            using any of the @expires and @delay metadata. Is it correct
            than that:<br>
            &nbsp;- Drools matches the event coming in and the events
            existing in the<br>
            KnowledgeBase and eventually activates a rule. And after
            fireAllRules()<br>
            is called the resulting actions are performed and all Events
            are<br>
            retracted by the automatic lifecycle managment, &nbsp;because
            there are no<br>
            hints (like a sliding window) that events will be needed
            again. (So that<br>
            the knowledge base would be empty again?)<br>
            <br>
            Thanks for any explanations. :)<br>
            Tina<br>
            _______________________________________________<br>
            rules-users mailing list<br>
            <a moz-do-not-send="true"
              href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
            <a moz-do-not-send="true"
              href="https://lists.jboss.org/mailman/listinfo/rules-users"
              target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        &nbsp; Edson Tirelli<br>
        &nbsp; JBoss Drools Core Development<br>
        &nbsp; JBoss by Red Hat @ <a moz-do-not-send="true"
          href="http://www.jboss.com">www.jboss.com</a><br>
      </div>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>