Ciclo de Vida de uma Regra

Cada estágio no ciclo de vida de uma regra pode ter várias causas e efeitos. Gravando e incluindo expressões nas ações do ciclo de vida (conforme definido pelo elemento <lifeCycleActions>), um autor de regras pode definir as ações a serem executadas em cada estágio.

Estágios no Ciclo de Vida de uma Regra

A seguir estão os quatro estágios primários no ciclo de vida de uma regra:
Carregamento
O carregamento da regra no mecanismo da Tecnologia ACT, que aciona as ações no elemento <onLoad>.
Ativação
A ativação da regra, que aciona as ações no elemento <onActivation>.
Desativação
A desativação da regra, que aciona as ações no elemento <onDeactivation>.
Descarregamento
O descarregamento da regra no mecanismo da Tecnologia ACT em execução, que aciona as ações no elemento <onUnload>.

Os estágios de ativação e desativação podem ocorrer várias vezes no ciclo de vida de uma regra, mas os estágios de carregamento e descarregamento ocorrem apenas uma vez.

Normalmente, não é necessário definir ações de ciclo de vida. A seguir, exemplos de quando você pode definir uma determinada ação de ciclo de vida:
  • Quando uma determinada regra for carregada, talvez você queira criar uma conexão com um sistema externo (como um gerenciador de banco de dados) que precise ser acessado nessa regra. Quando essa mesma regra for descarregada, você poderá eliminar a conexão e executar os processos de limpeza necessários.
  • Quando uma determinada regra for ativada, talvez você queira verificar se determinados recursos estão disponíveis para ela.
  • Quando uma regra de limite for desativada, mas o limite não tiver sido atendido e o período de tempo ainda não tiver passado, talvez você queira redirecionar uma mensagem para alguém com essas informações.
Como a ativação e a desativação de uma regra podem ocorrer várias vezes no ciclo de vida, as ações codificadas para esses estágios poderão ser executadas com freqüência.

As Causas e os Efeitos de cada Estágio de Ciclo de Vida

Tabela 1 lista as causas e os efeitos de cada estágio de ciclo de vida.

Tabela 1. Causas e Efeitos de cada Estágio de Ciclo de Vida
Estágio de ciclo de vida Causas Efeitos
Carregamento Nas seguintes circunstâncias:
  • Uma regra ou um bloco de regra é incluído ou substituído, causando o carregamento da nova regra ou regras.
  • O conjunto de regras é substituído no mecanismo da Tecnologia ACT, causando o carregamento das regras no novo conjunto de regras.
As ações no elemento <onLoad> são executadas.
Ativação A regra é ativada. Uma regra pode ser ativada das seguintes maneiras:
  • De acordo com as definições no elemento <activationInterval>
  • Por meio do método activate() disponível por meio da variável act_lib
  • Por meio das chamadas de aplicativos para o método activate() no mecanismo da Tecnologia ACT
Se a regra estiver inativa, as ações no elemento <onActivation> serão executadas.
Desativação A regra é desativada. Uma regra pode ser desativada das seguintes maneiras:
  • De acordo com as definições no elemento <activationInterval>, exceto que o elemento <deactivateOnEvent> no elemento <activationByGroupingKey> não causa desativação da regra
  • Por meio do método deactivate() disponível por meio da variável act_lib
  • Por meio das chamadas de aplicativos para o método deactivate() no mecanismo da Tecnologia ACT
Se a regra estiver ativa, as ações no elemento <onDeactivation> serão executadas.
Descarregamento Nas seguintes circunstâncias:
  • O mecanismo da Tecnologia ACT é encerrado, causando o descarregamento das regras.
  • Uma regra ou um bloco de regra é removido ou substituído, causando o descarregamento da regra ou regras antigas.
  • O conjunto de regras é removido ou substituído no mecanismo da Tecnologia ACT, causando o descarregamento das regras no conjunto de regras antigo.
Se a regra estiver ativa, as ações no elemento <onDeactivation> serão executadas, seguidas pelas ações do elemento <onUnload>. Caso contrário, as ações no elemento <onUnload> serão executadas.