Impostazione di semplici priorità tra le regole

Le regole hanno priorità, che possono essere statiche o dinamiche. Utilizzare una costante per definire una priorità statica o un'espressione contenente una variabile della serie di regole per definire una priorità dinamica.
Per definire l'ordine di esecuzione delle regole, impostare la priorità di una regola nella vista Proprietà della risorsa delle regole pertinente, con la proprietà priority .
Nota: per poter modificare la proprietà, assicurarsi che l'icona della mano Icona mano per rendere modificabili le proprietà sia visibile accanto all'intestazione della colonna Valore nella vista Proprietà .

Priorità statica

Utilizzare una priorità static per modificare la sequenza di esecuzione della regola tra le regole. Le priorità statiche sono numeri interi, i cui valori relativi determinano le priorità tra le regole. È anche possibile utilizzare una priorità static per modificare l'ordine di esecuzione tra diverse istanze della stessa regola quando sono idonee per l'esecuzione contemporaneamente.

Definire le priorità statiche utilizzando una costante. Nel campo Valore della proprietà priority , si immette un numero che rappresenta la priorità. Il numero può essere qualsiasi valore intero Java™ compreso tra -109 e +109 . Maggiore è il valore, maggiore è la priorità di esecuzione della regola.

Priorità dinamica

Una priorità dynamic è un'espressione il cui valore dipende dalle variabili della serie di regole associate nella parte condizione di una regola.
Nota: viene visualizzato un messaggio di errore quando un archivio di serie di regole include una ruletask in modalità sequenziale che seleziona le regole con una priorità di regola dinamica.

Nel campo Valore della proprietà priority , immettere un'espressione che utilizza una variabile della serie di regole. L'espressione può utilizzare qualsiasi variabile definita nella parte di condizione della regola purché il suo ambito sia per l'intera serie di regole. Se l'espressione restituisce un numero che non è un numero intero, viene convertita in un numero intero che segue la specifica del linguaggio Java.

Qui abbiamo due esempi:
  • prior1 + ?p

  • -?a

Costanti

È possibile utilizzare le costanti nelle priorità delle regole. Questi valori di priorità sono numeri interi scritti come un valore letterale o un'espressione che ha un valore intero.

Il seguente elenco mostra le costanti per l'impostazione delle priorità sulle regole:

  • maximum: la priorità più alta, il suo valore è un miliardo.
  • high: la seconda priorità più alta, il suo valore è un milione.
  • low: la seconda priorità più bassa, il suo valore è meno un milione.
  • minimum: la priorità più bassa, il suo valore è meno un miliardo.