Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Useful for msg-funnel component.

AsynchConstants.GUARANTEED_ORDER_HEADERSince version 0

.

4

Attribute

Type

NULL

Description

Value description

msg_id

number

No

Unique identifier, primary key.

Automatically generated.

msg_timestamp

datetime

No

Message timestamp, generated by source system.

This timestamp determines processing order of messages.

Source system, part of TraceHeader

TraceHeaderProcessor.TRACE_HEADER

receive_timestamp

datetime

No

Timestamp when message arrives to integration platform, generated by CleverBusOpenHub.

Automatically generated when input request arrives.

service_name

string

No

Service name, e.g. customer

Implements org.openhubframework.cleverbusopenhub.core.entity.ServiceExtEnum interface

Source system

AsynchConstants.SERVICE_HEADER

operation_name

string

No

Operation name, e.g. createCustomer

Source system

AsynchConstants.OPERATION_HEADER

object_id

string

Yes

Object ID that is impacted by processing of this message. For example when this message updates customer object then it can be customer ID.

This values serves for searching messages which impact identical object. When there are two messages in processing queue, both want to change identical object, then first message will be skipped and second one will be processed.

AsynchConstants.OBJECT_ID_HEADER
entity_typestring (enum)Yes

Entity type (implements org.openhubframework.cleverbusopenhub.api.entity.EntityTypeExtEnum interface).

In general it's enough to detect identical changed data by objectId and operation name but there are few different operations which can change the same data (e.g. setCustomer, setCustomerExt).
If defined then it will be used for "obsolete operation call" detection instead of operation name.

AsynchConstants.ENTITY_TYPE_HEADER

correlation_id

string

No

ID generated by source system that is important for pairing request and asynchronous response in source system.

Combination correlation_id and source_system is unique.

Source system, part of TraceHeader

TraceHeaderProcessor.TRACE_HEADER

process_idstringYes

Process identifier serves for pairing messages of same process.

Source system, part of TraceHeader

TraceHeaderProcessor.TRACE_HEADER

payload

string (XML)

No

Message payload

 
envelopestring (XML)No

The whole input request, e.g. SOAP envelope including headers and body

 

source_system

string (enum)

No

Source system (implements org.openhubframework.cleverbusopenhub.core.entity.ExternalSystemExtEnuminterface)

Source system, part of TraceHeader(applicationID)

TraceHeaderProcessor.TRACE_HEADER

state

string (enum)

No

Message state (enum value:

  • NEW: new saved message
  • PROCESSING: message is being processed
  • OK: successfully processed message
  • PARTLY_FAILED: last processing ended with error, there will be next try
  • FAILED: finally failed message, no next processing
  • WAITING: parent message that waits for child messages
  • WAITING_FOR_RES: message that waits for confirmation/response from external system
  • CANCEL: message was canceled by external system or by administrator. This state isn't set by this application.
  • POSTPONED: message is postponed because there was another message that was processed at the same time with same funnel values.

Tip

See overview of operations which change message state.


 

failed_count

number

No

Count of unsuccessful tries. Default value is 0.

 

failed_error_code

string

Yes

Error code when message processing failed (implements org.openhubframework.cleverbusopenhub.core.common.exceptions.ErrorExtEnum interface)

 

failed_desc

string

Yes

Error description when message processing failed.

 

last_process_timestamp

datetime

Yes

Timestamp when this message was lasttime updated.

 
custom_datastringYes

Field for saving custom data, suitable for sharing information between more tries of processing.

 
parent_msg_idnumberYes

Reference to parent message (parent-child binding).

Useful for parent-child binding, ChildMessage#createMessage

parent_binding_type

string

(SOFT)

Yes

Binding type defines how tightly child message does influence parent message:

  • HARD: result of child message influences result of parent message (for example when child message ends in FAILED state then parent message will in FAILED state too)
  • SOFT: result of child message has no effect to parent message

Useful for parent-child binding only, see asynch-child component.

info

Since version 0.4

Useful for parent-child binding, ChildMessage#createMessage
funnel_valuestringYes

Funnel value is for finding out if two or more concurrent messages impact identical target object. Funnel value can be anything, e.g. customer ID, subscriber mobile number, custom string etc.

This value is for msg-funnel component use.

Info

What is difference between object_id and funnel_value? Object_id represents real object identifier and serves for analysis if any message should be skipped because message data are obsolete. On the other hand funnel value represents virtual value (it can be anything) and is used to ensure that there will be only one message with funnel value at the moment being processed in specific route point.


AsynchConstants.FUNNEL_VALUE_HEADER
funnel_component_idstringYes

Funnel identifier that specifies unique point during message processing. Messages are checked and filtered out to this point.

This value is for msg-funnel component use.

info

Since version 0.4

guaranteed_orderboolean (false)No

When this flag is true then mesage is processed in guaranteed order.

info

Since version 0.4

exclude_failed_stateboolean (false)No

Messages in FAILED state are taking into consideration for guaranteed order by default. If FAILED state should be excluded then this flag will be true.

Value of this attribute has sense only when guaranteed_order is true.

Info
AsynchConstants.EXCLUDE_FAILED_HEADER

...

Tables request and response

...

...

From version 0.4

These tables stores requests/responses in communication with external systems.

...

With regards to stability of the database schema, database performance and the whole CleverBus OpenHub framework solution is recommended to perform regular archiving of records with regards to the utilization of individual tables and the number of records to be found in the tables.
As part of the solution is a distributed database procedure archive_records that has one input parameter. This parameter indicates the number of months, which is derived from the old record, which has to include archiving (default value is 2 months). The script can be expanded by additional tables to be archived. The actual procedure now includes database archiving tables: message, external_call, request and response. These records are stored in tables archive_message, archive_external_call, archive_request and archive_response.

...