es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Puede un archivo de reglas tener dependencia de otras reglas?

Estoy utilizando el motor de reglas de Drools para mi nuevo servicio. Estoy buscando limpiar las reglas / hacerlas más fáciles de escribir. Esperaba poder utilizar un estilo de codificación basado en un marco de reglas. Es decir, quiero tener un archivo de reglas cuyo único propósito sea validar los datos de entrada (es decir, la lista de entrada no es nula y contiene un valor específico). Luego, cuando escriba nuevos archivos de reglas, simplemente puedo importar esto y ejecutar la validación antes que todas las demás reglas.

Además, sé que puedo cargar múltiples archivos de reglas en la KieSession. ¿Es posible indicar en qué orden ejecutar los archivos de reglas o qué archivos omitir para cada caso de uso? La idea detrás de esto es mejorar el rendimiento. Digamos que cargo una función de AWS Lambda con el servicio de reglas, quiero tener todas las reglas cargadas de antemano y que se ejecute la específica para el caso de uso, en lugar de cargar un archivo de reglas para cada llamada.

Gracias por la ayuda.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución

    Como experto en tecnología de la información especializado en Java y el motor de reglas Drools, puedo sugerir las siguientes soluciones al problema mencionado anteriormente:

    1. Para crear un archivo de reglas que valide los datos de entrada, cree un archivo de reglas separado con un nombre de paquete como validation.rules y escriba reglas para validar los datos de entrada. Luego importe este paquete de validación en todos los demás archivos de reglas. De esta manera, sus datos de entrada se validarán antes de que se ejecuten otras reglas.
    2. Sí, es posible indicar al KieSession en qué orden ejecutar los archivos de reglas al especificar el orden en el que se deben cargar los archivos de reglas al configurar el KieSession. Por ejemplo, puede pasar una lista de archivos de reglas en el orden en que desea que se ejecuten. Para omitir archivos de reglas, pase solo aquellos archivos que sean necesarios para un caso de uso específico. De esta manera, puede mejorar el rendimiento evitando la ejecución innecesaria de reglas.

    Al utilizar estas soluciones, puede limpiar fácilmente las reglas y facilitar la escritura, reutilización y mantenimiento de las reglas en el motor de reglas Drools.

Comments are closed.