Establecimiento de prioridades simples entre reglas

Las reglas tienen prioridades, que pueden ser estáticas o dinámicas. Utilice una constante para definir una prioridad estática o una expresión que contenga una variable de conjunto de reglas para definir una prioridad dinámica.
Para definir el orden en el que se ejecutan las reglas, establezca la prioridad de una regla en la vista Propiedades del artefacto de regla relevante, con la propiedad priority .
Nota: Para poder editar la propiedad, asegúrese de que el icono de mano Icono de mano para que las propiedades sean editables esté visible junto a la cabecera de columna Valor en la vista Propiedades .

Prioridad estática

Utilice una prioridad static para cambiar la secuencia de ejecución de reglas entre reglas. Las prioridades estáticas son enteros, cuyos valores relativos determinan las prioridades entre las reglas. También puede utilizar una prioridad static para cambiar el orden de ejecución entre varias instancias de la misma regla cuando son elegibles para la ejecución al mismo tiempo.

Las prioridades estáticas se definen utilizando una constante. En el campo Valor de la propiedad priority , escriba un número que represente la prioridad. El número puede ser cualquier valor entero de Java™ entre -109 y +109 . Cuanto mayor sea el número, mayor será la prioridad de ejecución de la regla.

Prioridad dinámica

Una prioridad dynamic es una expresión cuyo valor depende de las variables de conjunto de reglas enlazadas en la parte de condición de una regla.
Nota: Se muestra un mensaje de error cuando un archivador de conjunto de reglas incluye una máscara de reglas en modalidad secuencial que selecciona reglas con una prioridad de regla dinámica.

En el campo Valor de la propiedad priority , especifique una expresión que utilice una variable de conjunto de reglas. La expresión puede utilizar cualquier variable definida en la parte de condición de la regla siempre que su ámbito sea para todo el conjunto de reglas. Si la expresión devuelve un número que no es un entero, se convierte en un entero después de la especificación de lenguaje Java.

Aquí tenemos dos ejemplos:
  • prior1 + ?p

  • -?a

Constantes

Puede utilizar constantes en las prioridades de regla. Estos valores de prioridad son enteros que se escriben como un literal o una expresión que tiene un valor entero.

La lista siguiente muestra las constantes para establecer prioridades en las reglas:

  • maximum: La prioridad más alta, su valor es mil millones.
  • high: La segunda prioridad más alta, su valor es un millón.
  • low: La segunda prioridad más baja, su valor es menos un millón.
  • minimum: la prioridad más baja, su valor es menos mil millones.