Notification

External clients can listen to the notifications about the state changes that are sent by the Orchestrator. The users can filter the following state change notifications:

JMS notification

Type of state change Property name Default value
Order Status Change com.tibco.fom.orch.order.statusChange.filter *
OrderLine Status Change com.tibco.fom.orch.orderLine.statusChange.filter *
Plan Status Change com.tibco.fom.orch.plan.statusChange.filter *
PlanItem Status Change com.tibco.fom.orch.planItem.statusChange.filter *
Order Amendment Status Change com.tibco.fom.orch.orderAmendment.filter *
Order State Change Notification topic com.tibco.fom.orch.outbound.notification.destination tibco.aff.orchestrator.outbound.notification
OrderLine status change destination com.tibco.fom.orch.orderLine.statusChange.destination tibco.aff.orchestrator.notification.orderLine
Plan status change destination com.tibco.fom.orch.plan.statusChange.destination tibco.aff.orchestrator.notification.plan
PlanItem status change destination com.tibco.fom.orch.planItem.statusChange.destination tibco.aff.orchestrator.notification.planItem
Order Amendment status change destination com.tibco.fom.orch.orderAmendment.statusChange.destination tibco.aff.orchestrator.notification.orderAmendment
ORDER, ORDERLINE, PLAN, PLANITEM, PLANDEVELOPMENT State Change Notification Queue archivalNotificationQueue tibco.aff.orchestrator.archival.notification

By default, all notifications are dispatched to the tibco.aff.orchestrator.outbound.notification queue. To disable, set the enableNotification property to false.

{
"propName": "com.tibco.fom.orch.plan.statusChange.destination",
"propDescription": "Plan status enableNotificationchange destination",
"propValue": "tibco.aff.orchestrator.notification.plan",
"valueType": "string",
"isTenantProperty": "false"
}

com.tibco.fom.orch.noreciprocalaction.planfragmentID: This property is a tenant specific property. The value provided in this property is set as the planfragmentID for the plan items that directly got canceled from the pending state.

The default value for this property is NO_RECIPROCAL_ACTION.

Whenever the order status changes, the Orchestrator sends an EMS message. The Archival system receives this message and saves the necessary information in a database. The Archival database has several tables and does not need locks to process notifications, allowing it to update the relevant tables directly.

Out-of-Sequence Notifications

Since Archival does not process notifications in a sequence, a notification can arrive before an entry is created for that order. In that case, the notification is retried and sent back to the source queue (tibco.aff.orchestrator.archival.notification). The retry settings are:

  • archivalNotificationRedeliveryCount (default: 5)

  • archivalNotificationRedeliveryDelay (default: 5000 ms or 5 seconds)

Amendment Notifications

When the first status change notification for an amendment is received, the Archival service updates the tables with the amendment changes. During this process, other notifications are not processed. They get retried and sent back to the source queue (tibco.aff.orchestrator.archival.notification) based on the retry configuration until the Archival database updates.

Exception Handling

In other exception scenarios, retries follow the same configuration. If the issue continues, the notification goes to the dead queue (tibco.aff.orchestrator.archival.notification.dead).