When using "next", this pattern works fine for the both a match as well as
a timeout:

Pattern<Event, Event> pattern = Pattern.<Event>begin("start")
        .where(evt -> evt.value.equals("ni"))
        .next("last").where(evt ->
evt.value.equals("ar")).within(Time.seconds(5));

1. "ni" then "ar" within 5 seconds - triggers match
2. "ni" then no "ar" within 5 seconds - triggers timeout

But with "followedBy", this does not behave as expected:

Pattern<Event, Event> pattern = Pattern.<Event>begin("start")
        .where(evt -> evt.value.equals("ni"))
        .followedBy("last").where(evt ->
evt.value.equals("ar")).within(Time.seconds(5));

"ni" then "ar" within 5 seconds - triggers match and also triggers timeout.

Why is the timeout triggered when using followedBy (when there is a match)?

Version - 1.1.5.

Reply via email to