Content-Based Addressing

TIBCO FTL features content-based addressing, that is, subscribers select messages by their content. A content matcher specifies a set of fields. A subscriber receives only those messages with fields that match that specification. (Although the idea of filtering might seem familiar from TIBCO EMS message selectors, you cannot infer the behavior of FTL content matchers from the behavior of EMS message selectors.)

A null content matcher matches all messages. So a subscriber without a content matcher recieves all messages that arrive on its transport bus.

A subscriber can narrow the stream of messages it receives by specifying a set of field names and values. A content matcher can test any field name for its presence or absence in messages. Alternatively, a content matcher can test values within fields, but only for exact matches of string and numeric values.

Example Description
{"alert":true} Match all messages that contain an alert field.
{"maint_routine":false} Match all messages that do not pertain to routine maintenance.
{"attn":"Jenny Pericles"} Match all messages that require the attention of Jenny Pericles.
{"reorder":true,"reord_qty":false} Match all messages that indicate it's time to reorder, but do not specify the quantity to reorder.
{"bug":true,"model":"421758"} Match all messages that contain bug reports against product model 421758.

Differences

  • EMS message selectors filter messages based on the values of message headers and properties.

    FTL content matchers filter messages based on the presence, absence, or values of message fields, that is, based on the content of the message.

  • EMS message selectors specify messages using subset of SQL92 conditional expression syntax.

    FTL content matchers specify messages using JSON attribute/value pairs, combined with logical AND.

See Also

For complete details, see "Content Matchers" in TIBCO FTL Development, and its sub-topics.

A brief video presents the concepts of content-based addressing and content matchers. See FTL Content-Based Addressing: Rethinking Destinations.