Asynchronous event delivery

Describes how the adapter uses staging and polling to support inbound processing.

The adapter supports inbound processing or event notification by delivering events along with data from the PeopleSoft Enterprise Information System (EIS) to end point applications. An event is represented by a row in the event store, which contains information that the adapter uses to detect the event and instantiate the PeopleSoft component interfaces. Events in the EIS must exist in one of five event state values, as described in the following table.

Event status values in PeopleSoft EIS

Event value in the EIS event table Description
-1 There was an error processing the event.
0 Event is ready for polling.
1 Polling successful; information about the event has been retrieved from the EIS.
3 Polling has been initiated, and the retrieval of event information is in progress.
99 Indicates a future-dated event. If the resource adapter property PollFutureEvents is set to true , the adapter checks to see if the future date has arrived. If so, the event status is changed to 0 to indicate that the event is ready for polling.
Note: If you want events deleted from the event table after they have been successfully polled and their status set to 1, add the following PeopleCode to the SavePostChange method for the IBM_EVENT_BC.GBL component:
/* IBM_EVENT_STATUS check and deletion of record*/
/* Verify that the status is 1 before deleting*/
/* - i.e. the event poll was successful*/
If IBM_EVENT_TBL.IBM_EVENT_STATUS = "1" Then  
   &CUREVENTREC = GetRecord(Record.IBM_EVENT_TBL);
   /* delete the record from the event table */   
   &CUREVENTREC.delete();
End-If;
The adapter maintains a staging table to enable assured event delivery. All event records that are being processed are maintained in the staging table. As the adapter delivers events to an end point application, the record in the staging table is removed. If the event could not be delivered to the end point application, it remains in the staging table. The adapter performs recovery for such events in each poll cycle when the application is started. The following table shows the relationship between the status of an event in the event store, and the existence of event records in the staging table.
Note: The event distribution or staging table has to be in an XA compliant database. Properties that allow that configuration are defined on the activation specification.
Event states for recovery
EventStore state Staging table Meaning
Event marked as new/ready-to-be-polled in the EIS. No record of the event is in the staging table. This is a new event. The adapter will process it normally.
Event marked as new/ready-to-be-polled in the EIS. A record exists in the staging table that refers to this event. A record exists in the staging table that refers to this event.
Event marked as in-progress in the EIS. A record exists in the staging table that refers to this event. A record exists in the staging table that refers to this event.
Event marked as in-progress in the EIS. No record of the event is in the staging table. The event was successfully sent. The adapter will delete it the next time it recovers.
Event delivery is processed following these steps:

These steps are repeated for each event.

Event delivery can be either unordered or ordered.
Related concepts
Outbound and inbound events

Terms of use |

Last updated: Sun Mar 12 11:24:18 2006

(c) Copyright IBM Corporation 2005.
This information center is powered by Eclipse technology (http://www.eclipse.org)