What did not happen as you expected? The HTTP session to Knowledge session association seems reasonable; but I assume you are trying with a more simple configuration initially.
Sent on the move On 8 Sep 2013 17:42, "amarok" <[email protected]> wrote: > I got the following scenario: > - I need a Web Service that reasons over received sensor events (1000+ per > day and client) in realtime and send messages if certain patterns occur. > - The web service has many clients (100-1000) but their events / facts do > not interfere (each client has his own state and events that change his > state). > - Each client also has his own rules (10-100) (but they are parameterized > generic rules - I thought maybe I could use rule templates or DSL to let > clients individualize their rules). > - Some rules are time dependant (e.g. if event (type=x) does not occour at > least within half an hour after 8:00 a.m. (where 8 o'clock is a rule > parameter) -> send a message), others are accumulative (e.g. if number of > events within 5h is > 3). > > > I'd like to use drools CEP for this. I already read some documentation and > tutorials but my first examples do not really work as I expected. Now I > fear > to have some general misconception about Drools/CEP. If someone could have > a > look over my ideas, I'd be very glad! > > > How I would do it: > -> Every client would have his own KnowledgeBase with his (individualized) > rules. Rules would be stored in guvnor or on a mysql database as plain > text. > -> Every client would have his own KnowledgeBase / > StatefullKnowledgeSession > on the service, that knows about recent sensor events and some facts about > the client. Events automatically are disposed of once they are not relevant > anymore. > -> A static hashmap will hold references to the session for each client. > (clientID -> KnowledgeSession) > -> Sessions are created when a new client joins the system, but are > normally > not disposed unless the client completely leaves the system. > -> When a new Event is received (HTTP PUT), the session corresponding to > the > client would be retrieved from the HashMap and the new event would be > inserted via an event stream. Then (for every new event) > session.fireAllRules() would be called on the clients KnowledgeSession. > > -> The Knowledge Base would run in STREAM mode to be able to reason over > time windows and automatically expire (=delete?!) events. This would keep > memory usage in within bounds(?) > -> pseudo clock allows me to write tests or simulate the system with > records > of old events. (Is it possible to test timer, cron and sliding-window rules > with pseudo clock? Can I explicitly set the time of the pseudo clock?) > > I appreciate your help! > > > > > > > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/A-Drools-CEP-Scenario-did-I-get-it-right-tp4025863.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
