O armazenamento de eventos é uma tabela que contém eventos que representam alterações em dados até que o adaptador de polling possa processá-los. O adaptador utiliza o armazenamento de eventos para acompanhar as entidades de eventos.
Para utilizar o processamento de entrada, você deve utilizar o PeopleTools Application Designer um projeto customizado para a notificação de eventos. O projeto customizado utiliza duas funções PeopleCode que determinam a maneira que eventos futuros serão processados e o projeto customizado cria o armazenamento de eventos de que o adaptador precisa para processamento de entrada. Sempre que um objeto de negócios é criado, atualizado ou excluído, a função PeopleCode utilizada no projeto e incluída na interface do componente insere um novo registro no armazenamento de eventos, com o nome do objeto, chaves e valor de status apropriados.
Com o processamento de entrada, o adaptador efetua poll das entidades de eventos a partir do armazenamento de eventos em intervalos de poll configurados. Em cada chamada de poll, um número configurado de eventos são processados pelo adaptador. A ordem do processamento de eventos é baseada na ordem crescente de prioridade e na ordem crescente do registro de data e hora do evento. Os eventos com o status Pronto para poll (0), são coletados para poll em cada ciclo de poll. O adaptador utiliza o nome do objeto e a chave do objeto para recuperar o objeto de negócios correspondente.
Se você configurar a propriedade de especificação de ativação AssuredOnceDelivery como true, um valor XID (ID de Transação) será configurado para cada evento no armazenamento de eventos e será utilizado para assegurar que um evento seja entregue apenas uma vez ao aplicativo de destino. Depois que um evento é obtido para processamento, o valor XID para esse evento é atualizado no armazenamento de eventos. O evento então é entregue para seu componente de exportação correspondente e seu status é atualizado para mostrar que a entrega do evento foi concluídaeted. Se o aplicativo for parado antes que o evento possa ser entregue para o componente de exportação ou se a entrega tiver falhado, o evento pode não ser processado completamente. Neste caso, o valor XID representa o status em andamento e a coluna XID assegura que o evento seja reprocessado e enviado para o componente de exportação. Quando a conexão com o banco de dados for restabelecida ou o adaptador iniciado novamente, o adaptador verificará eventos na tabela de eventos que possuem um valor na coluna XID de Pronto para Poll (0). O adaptador processa estes eventos primeiro e, em seguida, efetua poll nos outros eventos durante os ciclos de poll.
O adaptador utiliza processamento especial para eventos que possuem código de status (99), que indica que eles ocorrerão no futuro. Durante um ciclo de poll, quando o adaptador recupera eventos com um status futuro, esse adaptador compara a hora do sistema com o registro de data e hora em cada evento. Se a hora do evento for anterior ou igual à hora do sistema, o adaptador processará o evento e alterará o status do evento para Pronto para Poll (0).
Se desejar que o adaptador processe eventos de status futuros no presente, utilize a função IBM_PUBLISH_EVENT em vez de IBM_FUTURE_PUBLISH_EVENT. Fazer isso significa que o evento é identificado como Pronto para Poll (0) em vez de Futuro (99).
Conforme os eventos são recuperados e processados a partir do armazenamento de eventos, o status do evento altera para refletir o ciclo, conforme mostrado na tabela a seguir:
Nome Abreviado do Status | Descrição | Valor da Tabela de Eventos |
---|---|---|
Evento de Processamento de Erro | Um erro ocorreu durante o processamento do evento. | -1 |
Pronto para Poll | O evento ainda não foi selecionado pelo adaptador. O evento está pronto para ser selecionado. | 0 |
Sucesso | O evento foi enviado para o gerenciador de eventos. | 1 |
Excluído | O evento foi processado com êxito e foi removido do armazenamento de eventos. | 4 |
Eventos Futuros | Estes eventos devem ser processados em uma data futura. | 99 |