Event API

The existing API (non-priority event API) consists of the following methods:
  • RaiseEvent()
  • RaiseEventWithContext()
  • RaiseEventWithException()
  • CreateEvent()
  • CreateAndSendEvent()
These methods remain and the following methods are added:
  • RaisePriorityEvent()
  • RaisePriorityEventWithContext()
  • RaisePriorityEventWithException()
  • CreatePriorityEvent()
  • CreateAndSendPriorityEvent()

The difference between these methods is determined by whether event prioritization is enabled in the application.

  1. If event prioritization is not enabled, the Priority parameter value is used to populate the CommonBaseEvent priority value on the event and has no further effect. It works the same for both the priority event and the non-priority event API methods.
  2. If event prioritization is enabled, the priority event API methods use the Priority parameter as the technical priority of the object. Therefore, the value in the Priority parameter is used directly in the calculation that determines the weighted event priority. For the non-priority event API methods, the Priority parameter is ignored and the technical priority of the object is calculated by the API. This calculated technical priority is then used to calculate the weighted event priority. The API also calculates the technical priority for an object when a null value is passed as the Priority parameter to one of the priority event API methods. For both the priority or non-priority API methods, the weighted event priority is used to populate the CommonBaseEvent priority value.
  3. The calculation that is described above allows the application to seed technical priority on an inbound channel and then FTM can ripple this around the system until such a time that the technical priority is reseeded. This calculation is essentially the reversal of the original formula to calculate the original technical priority that is used when the event is raised (read from IBM® MQ).