There are two types of Oracle Tuxedo events: application events and system events. Application events are usually controlled or trapped by the application code. System events are generated by the Tuxedo run-time system when important changes in that system are detected. Application programs (clients or services) can subscribe to these system events.
The EventBroker MIB defines the characteristics of an event subscription. You can use the EventBroker MIB to obtain the characteristics of current event subscriptions, define new subscriptions, or invalidate subscriptions. To enable both system event and application event notification, you need to define the system event broker and the application event broker in the Core MIB.
Event subscriptions can be temporary or persistent. Persistent subscriptions survive across application activations and can be removed through the EventBroker MIB. The Tuxedo EventBroker MIB contains five groups of event subscriptions through which the EventBroker can be managed.
The EventBroker MIB consists of the following subscription groups.
Each object in these groups represents a single subscription request. Client Notifications (tuxEventClientTbl
group) indicate which events trigger an unsolicited message to a client. Service Notifications (tuxEventSvcTbl
group) indicate which events trigger a request to an application service. Application Queue Notifications (tuxEventQueTbl
group) indicate which events send a message to an application queue. System Command Notifications (tuxEventCmdTbl
group) indicate which events trigger an operating system command. Log File Notifications (tuxEventUlogTbl
group) indicate which events generate a record in the central event log (ulog). The EventBroker automatically removes temporary subscriptions when it detects that the corresponding target is no longer active.
Event subscriptions and the ability to change the Tuxedo MIB enables system administrators and application designers to write event-adaptive applications. When a failure is detected through a system event notification, a management framework program can perform the corrective measures. For example, a management framework task can be triggered to activate servers on a backup machine when it receives an event notification about a failure on a primary machine.
This group contains objects that represent subscriptions registered with the EventBroker for client-based notification.
When an event is detected, it is compared to each tuxEventClientTbl
instance. If the event name matches the value in the event expression and the optional filter rule is true, then the event buffer is sent to the specified client’s unsolicited message handling routine. To create a new row in this table, it is necessary to issue a SET
request that at least specifies the values for tuxEventClientExpr
and tuxEventClientId
.
A running number as the unique identifier for a row in the table.
Event pattern expression. This expression, which is a regular expression, controls which event names match this subscription. For the format of regular expressions, see reference page tpsubscribe(3c) in Oracle Tuxedo ATMI C Function Reference.
Note: | This object can be updated only during row creation. |
Event filter expression. This expression, if present, is evaluated with respect to the posted buffer’s contents. It must evaluate to TRUE or this subscription is not matched. If the value of this is “-”, it means that the filter expression is in binary format.
Note: | This object can be updated only during row creation. |
INTEGER { active(1), invalid(2) }
The values for GET
and SET
operations are as follows:
GET: active(1)
SET: invalid(2)
SET
operation updates configuration information for the row in tuxEventClientTbl
. The following state indicates the meaning of a tuxEventClientState
set in a SET
request. States not listed cannot be set.
invalid(2)
Send an unsolicited notification message to this client when a matching event is detected.
Note: | This object can be updated only during row creation. |
This group contains objects that represent subscriptions registered with the EventBroker that trigger execution of system commands.
When an event is detected, it is compared to each row in this table. If the event name matches the value in the event expression and the optional filter rule is true, then the event buffer is formatted and passed to the system’s command interpreter.
Create a new Row: To create a new instance of tuxEventCmdTbl
the user must specify at least tuxEventCmdExpr
and tuxEventCmd
. All objects except tuxEventCmdState
can be updated only during creation of a new instance.
A running number as the unique identifier for a row in the table.
Event pattern expression. This expression, which is a regular expression, controls which event names match this subscription. For the format of regular expressions, see reference page tpsubscribe(3c) in Oracle Tuxedo ATMI C Function Reference.
Note: | This object can be updated only during row creation. |
Event filter expression. This expression, if present, is evaluated with respect to the posted buffer’s contents. It must evaluate to TRUE or this subscription is not matched. If the value of the filter is “-”, it means that the filter is in a binary format.
Note: | This object can be updated only during row creation. |
INTEGER { active(1), invalid(2) }
The values for GET
and SET
operations are as follows:
GET: active(1)
SET: invalid(2)
SET
operation updates configuration information for the tuxEventCmdTbl
instance. The following state indicates the meaning of a tuxEventCmdState
set in a SET
request. States not listed cannot be set.
invalid(2)
Execute this system command when an event matching this object is detected. For UNIX system platforms, the command is executed in the background using system
(3).
Note: | This object can be updated only during row creation. |
This group contains objects that represent subscriptions registered with the EventBroker for queue-based notification.
When an event is detected, it is compared to each tuxEventQueTbl
instance. If the event name matches the value in the event expression and the optional filter rule is true, then the event buffer is stored in the specified reliable queue. To create a new row in this table, it is necessary to issue a SET
request that at least specifies tuxEventQueExpr
, tuxEventQspace
, and tuxEventQname
.
Running number which is the unique identifier for an event in this table.
Event pattern expression. This expression, which is a regular expression, controls which event names match this subscription. For the format of regular expressions, see reference page tpsubscribe(3c) in Oracle Tuxedo ATMI C Function Reference.
Note: | This object can be updated only during row creation. |
Event filter expression. This expression, if present, is evaluated with respect to the posted buffer’s contents. It must evaluate to TRUE or this subscription is not matched. If the value of this object is “-”, it means the filter is in binary format.
Note: | This object can be updated only during row creation. |
INTEGER { active(1), invalid(2) }
The values for GET
and SET
operations are as follows:
GET: active(1)
SET:
invalid(2)
SET
operation updates configuration information for the tuxEventQueTbl
instance. The following state indicates the meaning of a tuxEventQueState
set in a SET
request. States not listed cannot be set.
invalid(2)
Enqueue a notification message to a reliable queue in this queue space when a matching event is detected.
Note: | This object can be updated only during row creation. |
Enqueue a notification message to this reliable queue when a matching event is detected.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure to request notification via the /Q subsystem with the message to be placed at the top of the queue.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure to request notification via the /Q subsystem with the message to be placed on the queue ahead of the specified message.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure to request notification via the /Q subsystem with the message to be processed at the specified time.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure to request notification via the /Q subsystem with the message to be processed relative to the dequeue time.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
This value, if present, is passed in to tpenqueue
(3)’s TPQCTL control structure.
Note: | This object can be updated only during row creation. |
If non-zero, do not cancel this subscription if the designated queue is no longer available.
Note: | This object can be updated only during row creation. |
If non-zero and the client’s tppost
(3) call is transactional, include the tpenqueue
(3) call in the client’s transaction.
Note: | This object can be updated only during row creation. |
This group contains objects that represent subscriptions registered with the EventBroker for service-based notification.
When an event is detected, it is compared to each tuxEventSvcTbl
instance. If the event name matches the value in the event expression and the optional filter rule is true, then the event buffer is sent to the specified Tuxedo service routine.
To create a new row in this table, a SET
request must be issued that specifies values for at least tuxEventSvcExpr
and tuxEventSvcName
.
A running number which is a unique key for a row in this table.
Event pattern expression. This expression, which is a regular expression, controls which event names match this subscription. For the format of regular expressions, see reference page tpsubscribe(3c) in Oracle Tuxedo ATMI C Function Reference.
Note: | This object can be updated only during row creation. |
Event filter expression. This expression, if present, is evaluated with respect to the posted buffer’s contents. It must evaluate to TRUE or this subscription is not matched. If this is “-”, it means the filter is in binary format.
Note: | This object can be updated only during row creation. |
INTEGER { active(1), invalid(2) }
The values for GET
and SET
operations are as follows:
GET: active(1)
SET:
invalid(2)
SET
operation updates configuration information for the tuxEventSvcTbl
instance. The following state indicates the meaning of a tuxEventSvcState
set in a SET
request. States not listed cannot be set.
invalid(2)
Call this Tuxedo service when a matching event is detected.
Note: | This object can be updated only during row creation. |
If non-zero, do not cancel this subscription if the tuxEventSvcName
service is no longer available.
Note: | This object can be updated only during row creation. |
If non-zero and the client’s tppost
(3) call is transactional, include the tuxEventSvcName
service call in the client’s transaction.
Note: | This object can be updated only during row creation. |
This group contains objects that represent subscriptions registered with the EventBroker for writing system userlog
(3) messages.
When an event is detected, it is compared to each tuxEventUlogTbl
instance. If the event name matches the value in the event expression and the optional filter rule is true, then the event buffer is formatted and passed to the Tuxedo userlog
(3) function.
Create a new Row: To create a new instance of tuxEventUlogTbl
the user must at least specify values for tuxEventUlogExpr
and tuxEventUserlog
. All objects except tuxEventUlogState
can be updated only during creation of a new instance.
A running number which is a unique key in this table.
Event pattern expression. This expression, which is a regular expression, controls which event names match this subscription. For the format of regular expressions, see reference page tpsubscribe(3c) in Oracle Tuxedo ATMI C Function Reference.
Note: | This object can be updated only during row creation. |
Event filter expression. This expression, if present, is evaluated with respect to the posted buffer’s contents. It must evaluate to TRUE or this subscription is not matched. If this is “-”, it means the filter is in binary form.
Note: | This object can be updated only during row creation. |
INTEGER { active(1), invalid(2) }
The values for GET
and SET
operations are as follows:
GET: active(1)
SET: invalid(2)
SET
operation updates configuration information for the tuxEventUlogTbl
instance. The following state indicates the meaning of a tuxEventUlogState
set in a SET
request. States not listed cannot be set.
invalid(2)
Write a userlog
(3) message when a matching event is detected.
Note: | This object can be updated only during row creation. |