Hi,

I am facing an issue where a single event is causing execution of a cep filter
multiple times. I went through this video
<https://www.youtube.com/watch?v=XRyl0RGWs1M> explaining automata formation
from pattern sequence but it still does not explain the behaviour that
I am facing.
Following is the sample pattern for which I am testing this behaviour.

Pattern<String, ?> innerPattern =
                Pattern
                        .<String>begin("start")
                            .where(new SimpleCondition<String>() {
                                @Override
                                public boolean filter(String value)
throws Exception {
                                    System.out.println("In the beginning");
                                    return value.equals("a");
                                }
                            })
                        .followedBy("middle")
                            .where(new SimpleCondition<String>() {
                                @Override
                                public boolean filter(String value)
throws Exception {
                                    System.out.println("In the middle");
                                    return value.equals("b");
                                }
                            });

On passing events *a* and *b* to this pattern.. result is

1> a
In the beginning
1> b
In the middle
In the middle
In the beginning
Matched
3> {start=[a], middle=[b]}

As you can see ... on ingestion of *b* middle pattern is getting called
twice. Any ideas of this behaviour.


Thanks and regards,

Puneet Duggal

Reply via email to