Search code examples
dynamicruntimerulesdrools

Drools - Ability to define rules at runtime?


It is possible to define rules dynamically completely at runtime ? Also change the ruleset at runtime.

For example,

at time = t_1 the ruleset is { R1, R2, R3 } 
at time = t_2 the ruleset is { R1, R3, R4 } 
..... 

R1, R2 are rules that are defined at runtime.

Thanks.


Solution

  • Yes, Drools is completely dynamic. You can add/remove/replaces rules at runtime. All the existing sessions are automatically updated in order to keep consistency. Check the documentation/javadoc:

    http://www.jboss.org/drools/documentation

    And here you can see some integration tests:

    DynamicRulesTest.java