Try OpenEdge Now
skip to main content
BP Server Developer's Guide
Working with Monitoring process : Supported events : JMS event gateway : Message body
 
Message body
BP Server reads the values of sender, create time, and other optional event elements from the JMS message body. The Table 25 explains the JMS message body details of ObjectMessage. For ObjectMessage, the message body must be an instance of java.util.HashMap. The 'key' for the HashMap must be of type java.lang.String. You can find a list of valid keys in the 'Property name' column of the Table 25. For each entry in the HashMap, the 'value' must be of the corresponding type specified in the 'Data type' column.
Table 25. JMS ObjectMessage body details
Event element
Property name
Data type
Mandatory
Comment
Sender
SENDER
CHARACTER
Yes
The external system information from where the event is generated.
Category
CATEGORY
CHARACTER
No
This can be used by senders to group events based on functional domains. For example, Finance, CRM.
Priority
PRIORITY
CHARACTER
No
This is the priority of the operation performed in the external system. This is updated in the process flow. Possible values: CRITICAL, HIGH, MEDIUM, LOW. If not specified, then the default value "MEDIUM" is used.
Performer
PERFORMER
CHARACTER
No
Considered as the instance creator. If not provided, then the BP Server bootstrap user specified during Business Process Server installation is used.
Workstep events: The value is considered as the workstep performer. If not provided, then the ‘default performer’ is used.
Other events: This value, if provided, in any other event is ignored.
Loop counter
LOOP_COUNTER
INTEGER
No (may be provided for loops)
The counter for loops or iterations. If not specified, then events cannot be processed in order. This value is used only in workstep events. It is ignored for other events.
Create Time
CREATE_TIME
INT64
Yes
This is the current time in the external system when the event was generated.
The value should be specified in milliseconds.
Start time
START_TIME
INT64
No
This is the workstep or process instance start time. The value should be specified in milliseconds. This value is used only in CREATE_INSTANCE, ACTIVATE_WORKSTEP and COMPLETE_WORKSTEP events, and it is ignored for all other events.
End time
END_TIME
INT64
No
This is the workstep or process instance end time. The value should be specified in milliseconds. This value is used only in COMPLETE_WORKSTEP event, and it is ignored for all other events.
Duration
DURATION
INT64
No
This is the workstep duration. The value should be specified in seconds. This value is used only in ACTIVATE_WORKSTEP event and COMPLETE_WORKSTEP event, and it is ignored for all other events.
If it is passed as ACTIVATE_WORKSTEP event, then it is taken as estimated duration, whereas if it is passed as COMPLETE_WORKSTEP event, then it is taken as actual duration.
Context
CONTEXT
HashMap object
No
The external system can add any extra data to the context. To send such data, prepare a HashMap<String,String>, where 'key' and 'value' are of type java.lang.String.
Dataslot
DATASLOT
HashMap object
No
The dataslot to be updated in the process flow. The key is the dataslot name and value is the dataslot value. For more information about passing it as part of event, refer to Dataslot update.
The Table 26 explains the JMS message body details of MapMessage. The 'name' used in the MapMessage must be of type java.lang.String. You can find a list of valid names in the 'Property name' column of the Table 26. For each name in the MapMessage, the 'value' must be of the corresponding type specified in the 'Data type' column.
Table 26. JMS MapMessage body details
Event element
Property name
Data type
Mandatory
Comment
Sender
SENDER
CHARACTER
Yes
The external system information from where the event is generated.
Category
CATEGORY
CHARACTER
No
This can be used by senders to group events based on functional domains. For example, Finance, CRM.
Priority
PRIORITY
CHARACTER
No
This is the priority of the operation performed in the external system. This is updated in the process flow. Possible values: CRITICAL, HIGH, MEDIUM, LOW. If not specified, then the default value "MEDIUM" is used.
Performer
PERFORMER
CHARACTER
No
Considered as the instance creator. If not provided, then the BP Server bootstrap user specified during Business Process Server installation is used.
Workstep events: The value is considered as the workstep performer. If not provided, then the ‘default performer’ is used.
Other events: This value, if provided, in any other event is ignored.
Loop counter
LOOP_COUNTER
INTEGER, INT64
No (may be provided for loops)
The counter for loops or iterations. If not specified, then events cannot be processed in order. This value is used only in workstep events. It is ignored for other events.
Create Time
CREATE_TIME
INTEGER, INT64
Yes
This is the current time in the external system when the event was generated.
The value should be specified in milliseconds.
Start time
START_TIME
INTEGER, INT64
No
This is the workstep or process instance start time. The value should be specified in milliseconds. This value is used only in CREATE_INSTANCE, ACTIVATE_WORKSTEP and COMPLETE_WORKSTEP events, and it is ignored for all other events.
End time
END_TIME
INTEGER, INT64
No
This is the workstep or process instance end time. The value should be specified in milliseconds. This value is used only in COMPLETE_WORKSTEP event, and it is ignored for all other events.
Duration
DURATION
INTEGER, INT64
No
This is the workstep duration. The value should be specified in seconds. This value is used only in ACTIVATE_WORKSTEP event and COMPLETE_WORKSTEP event, and it is ignored for all other events.
If it is passed as ACTIVATE_WORKSTEP event, then it is taken as estimated duration, whereas if it is passed as COMPLETE_WORKSTEP event, then it is taken as actual duration.
Context
CONTEXT
RAW
No
The external system can add any extra data to the context. To send such data, prepare a HashMap<String,String>, where 'key' and 'value' are of type java.lang.String. Convert this HashMap to byte[], and set it in the Map message body.
Dataslot
DATASLOT
RAW
No
The dataslot to be updated in the process flow. To send dataslot(s), prepare a HashMap<String,Object>, where 'key' is dataslot name and 'value' is the dataslot value. Convert this HashMap to byte[], and set it in the Map message body. For more information about passing it as part of event, refer to Dataslot update.