FTL Subscriber

The FTL Subscriber is a process starter activity that starts the process based on the receipt of a message over a transport that is abstracted through a TIBCO FTL application endpoint. The transport details are not configured in the FTL Subscriber activity, instead it is configured in TIBCO FTL Realm Server.

General

The General tab has the following fields.

Field Literal Value/Process Property/Module Property Description
Name No The name to be displayed as the label of the activity in the application.
FTL Realm Server Connection Yes The shared resource containing information for connecting to an FTL Realm Server and creating a Realm object. See FTL Realm Server Connection for more details.
Endpoint Yes TIBCO FTL application endpoint which is an abstraction for the underlying transports on which the FTL Subscriber activity receives messages. The endpoint can have more than one transport.

Click the Browse button to locate the endpoints defined on the TIBCO FTL Realm Server.

Content Matcher Yes Specifies FTL Subscriber activity's interest in messages based on their content. The syntax for example is, {"My-Long":123}.

A content matcher selects a subset of messages from a message stream according to the fields and values in those messages.

Format No Defines the set of fields in the message that is sent by the FTL Publisher activity. The form of each FTL message (its field names and their value datatypes) is governed by a format. The supported formats are:
  • Custom: can be defined by using the Input Editor. The Input Editor is enabled only for the Custom format option.
  • Keyed Opaque: is a built-in format that contains a text key field and a binary (opaque) data field.
  • Opaque: is a built-in format that contains a binary (opaque) data field.
  • Predefined: is already defined in the TIBCO FTL Realm Server for the FTL application. The Predefined format requires a format name and this can be obtained from the TIBCO FTL Realm Server using the Browse button.
Format Name Yes The name of the format of the FTL Subscriber message.

In addition, selecting the Predefined format enables the Browse button. Click the Browse button to obtain the predefined formats from the TIBCO FTL Realm Server.

Description

Provide a short description of the activity here.

Advanced

The Advanced tab has the following fields.

Field Literal Value/Process Property/Module Property Description
Subscriber Name Yes Specify the name of the subscriber on the TIBCO FTL Realm Server.
Durable Name Yes Specify the durable name that will enable the FTL Subscriber to dynamically create a durable listener.
Acknowledge Mode Yes The acknowledge mode for subscriber messages. It can be one of the following:
  • Auto: When this mode is used, the FTL library automatically acknowledges the message when the application callback returns.
  • Explicit: When this mode is used, the user needs to use a Confirm activity in the process to explicitly acknowledge the message.
FTL Queue Dispatcher Threads Yes Specifies the number of threads to use for dispatching events from the FTL event queue.
FTL Queue Size Yes Size of FTL event queue.

The default value of queue size is -1 in the subscriber configuration and the default discard policy set is Discard None. This setting creates a default FTL event queue without any size mentioned. This means no upper limit for the queue size is set and no messages will be discarded.

Even with the value of queue size set to 0, the behavior is similar to the above case.

If the queue size is greater than 0, then the discard policy can be either Discard New, which means discard new messages instead of adding them to the queue; or Discard Old, which means discard old messages from the head of the queue.

If the flow limit is set to 100, and if currently there are 100 jobs, then the 101st message will be in the queue but won't be dispatched. If the flow limit is hit, the displacher threads are paused and will resume dispatching the messages from the queue only when the number of jobs becomes less than the flow limit set.

During the time, the dispatcher is paused, the messages in the event queue won't be dispatched and processed but any new message arriving during this time would be stored or discarded by the queue, according to the queue size and the discard policy.

Flow limit is not linked with queue size or activity worker threads. When the flow limit is hit, dispatcher threads are paused which will also halt the creation of any new worker threads.

FTL Queue Overflow Policy Yes This field is enabled when the queue size is greater than zero. Select any one from the following available options:
  • Discard None
  • Discard New
  • Discard Old
Activity Worker Threads Yes Must be greater than zero. By default, the equivalent of half of the engine thread pool is created.

For example, if the engine thread pool is set to eight, then the FTL Subscriber activity creates four threads for processing the incoming FTL message.

Sequence Key No This field can contain an XPath expression that specifies which processes should run in sequence. Process instances with sequencing keys that evaluate to the same value are executed sequentially as the process instance was created.
Custom Job Id No This field can contain an XPath expression that specifies a custom ID for the process instance.
Retry Duration Yes This field specifies the retry duration for reconnecting to a persistent server.

The value is in seconds.

When the persistent server does not get accessed (because of network failure or quorum unavailability), retrying to connect to the server can be configured with this field. The value of this property determines the retry behavior. The supported values are:
  • 0: No retry. This call raises an exception. This is the default behavior.
  • 1: Synchronously retry the interaction until it succeeds. This call returns only upon success.
  • n (Any positive double value): Retry the interaction for n seconds. Return upon success or raise an exception after timeout.

Output Editor

The Output Editor tab defines the schema to use for incoming messages. This tab gets enabled only when you select the Custom format.

Conversations

You can initiate the conversation here. Click the Add New Conversation button to initiate multiple conversations. Refer to Application Development guide for more information on conversations.

Output

The output for the activity depends on the Format you select in the General tab. If you select the Custom format, the output is a data element defined in the Output Editor tab.