StreamCruncher is an event processor. It supports a language based on SQL that allows you to define "event processing" constructs like sliding windows, time-based windows, partitions, and aggregates. Such constructs allow for the specification of boundaries (some are time sensitive) on a stream of events that SQL does not provide. Queries can be written using this language, which in turn can be used to monitor streams of incoming events. It also provides a feature similar to materialized views. Joins and sub-queries are also supported to allow event co-relation. A database is used underneath to do the heavy lifting. Pattern matching or multi-stream correlation are also possible.


The pre-filter for input event streams now supports <, >, !=, =, *, /, +, -, "in (..)", "not in (..)", "and", and "or". The "in" clause can refer to an SQL sub-query. Such sub-queries are cached by the kernel to improve performance. An additional property, cacherefresh.threads.num, can be configured to specify the number of sub-query cache processing threads to use. Two new test cases have been added to test the new features: H2StartupShutdown3Test and ThreeEventOrderTest.

URL: StreamCruncher - Event Processor