Uma regra de duplicata é definida pelo padrão de duplicata. Ela conta o segundo e os subseqüentes eventos que são aceitos no intervalo de tempo especificado, mas ignora o processamento do conjunto de regras deles. É uma regra com preservação de estado.
O padrão de duplicata é utilizado normalmente para isolar eventos semelhantes (duplicatas) em um período de tempo. Um evento em duplicata é semelhante de alguma forma a um evento anterior, mas não é necessariamente uma cópia exata desse evento. Eventos serão duplicatas apenas se atenderem aos critérios de seleção de eventos da regra. O período de tempo é indicado por um espaço de tempo obrigatório, conforme definido pelo elemento <timeWindow> na linguagem da regra.
O primeiro evento aciona a ação <onDetection> embora nenhum evento em duplicata tenha sido recebido. O motivo desse comportamento é que talvez você queira redirecionar o primeiro evento e ignorar o processamento do conjunto de regras de eventos em duplicata. Nesse caso, é possível incluir uma ação de resposta da regra que redirecione o primeiro evento quando a ação <onDetection> for acionada para a regra.
O processamento padrão para eventos em duplicata (o segundo e subseqüentes eventos) é contar um evento em duplicata, mas ignorar o processamento do conjunto de regras de um evento em duplicata. Para executar ações adicionais em um evento em duplicata, é possível definir explicitamente uma ação <onNextEvent>. Por exemplo, em determinados casos, o evento em duplicata representa um evento que já pode estar registrado em um banco de dados ou em outro repositório. Portanto, talvez você queira codificar uma ação <onNextEvent> para remover o evento em duplicata desses outros locais.
Uma ação <onTimeWindowComplete> pode ser utilizada para criar um registro de resumo para todos os eventos em duplicata que incluem o número de duplicatas processadas.
Depois de uma mensagem "Negação de Serviço" ocorrer a partir do monitor de segurança, as duplicatas desse evento que ocorrem durante um período de tempo de 30 segundos são contadas, mas não são enviados para o console do operador. Além disso, no final do período de tempo de 30 segundos, a regra gera um evento que indica o número de mensagens "Negação de Serviço" ocorridas em um período de tempo.