Vincent Legendre wrote > > Users changing rules IS the correct use-case of drools (I would even say > that if rules never change, drools is likely to be worse than pure java). > What others said is "changing the rules at each request by regenerating > and recompiling" is not. > > I can't imagine that users may change rules at each request, so you must > have, at least for some time (thus a lot of requests), a stable rule base. > What is costly is to compile rules, but you already know that. > So the idea is to keep in some kind of cache the actual rules, and only > recompile them when they change. > > The source of rules does not matter : you can generate the DRL according > to your configuration, or make you users directly write rules (with > guvnor, which will fits well if your rules are only basic filters). > > The optimisation you have to do is to keep your compiled rules somewhere > (by serializing your KnowlegdePackages or simply keep it in a kind of > map), and reuse it until your source change : you have to find a way to > detect that rules (or the config that is used to generate them) have > changed, and then recompile a new up-to-date KnowledgePackage. > >
Thank you for your insights. At this point I'm designing for the worst case i.e., I'm assuming the rules with change with every request. Moreover, this can happen on a regular basis in the system I'm trying to design. Product { price ave_user_rating num_ratings category } User wants to see Product with with the following rules at t=t_1 : If product.category in {A,B}. at t=t_2 : If product.category in {A,B} AND price < 100 at t=t_3 : If product.category in {A,B} AND price < 100 AND num_ratings > 100 You can imagine the user changing these rules in a span of less than a minute. I understand that Drools is designed for cases when rules changes often. But can it support something like the one I described above where rules are changing at a much faster rate? Thanks. -- View this message in context: http://drools.46999.n3.nabble.com/Is-there-a-faster-way-of-doing-this-in-Drools-tp3973888p3974487.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users