2012-02-23 31 views
13

¿Es posible definir reglas dinámicamente por completo en el tiempo de ejecución? También cambie el conjunto de reglas en tiempo de ejecución.Drools: ¿posibilidad de definir reglas en tiempo de ejecución?

Por ejemplo,

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

R1, R2 son reglas que se definen en tiempo de ejecución.

Gracias.

Respuesta

16

Sí, Drools es completamente dinámico. Puede agregar/eliminar/reemplazar reglas en tiempo de ejecución. Todas las sesiones existentes se actualizan automáticamente para mantener la coherencia. Consulte la documentación/javadoc:

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

Y aquí se pueden ver algunas pruebas de integración:

DynamicRulesTest.java

1

leer la documentación y las salidas a las pruebas sobre "KnowledeAgent" para ver lo que pueda hacer y cómo puedes hacerlo.

0

En Drools 5 solo necesita cambiar KnowledgeBase, mantendrá la KnowledgeSession implícitamente actualizada. Eso es lo que te dicen las pruebas de integración. En realidad, no necesitas un KAgent para eso.

Cuestiones relacionadas