TIBCO FTL®

Static Public Member Functions | Static Public Attributes | Properties | List of all members
TIBCO.FTL.FTL Class Reference

The class FTL is the first entry point of an FTL program. More...

## Static Public Member Functions
static void | Close ()
| This call closes (that is, terminates) FTL within your program, and reclaims unmanaged resources. More...
static IRealm | ConnectToRealmServer (String ServerUrl, String AppName, ITibProperties Properties)
| Connect to an FTL server, and create a realm object. More...
static ITibProperties | CreateProperties ()
| Create an empty property list object without any default values. More...
static bool | IsOpen ()
| This method is for TIBCO internal use only. More...
static void | SetLogFiles (String filePrefix, long maxFileSize, int maxFiles, ITibProperties properties)
| Arrange rotating log files. More...
static void | SetLogFilesForRealm (IntPtr realm, String filePrefix, long maxFileSize, int maxFiles, ITibProperties properties)
static void | SetLogHandler (ILogHandler logHandler, ITibProperties properties)
| Register a global log handler. More...
static void | SetLogHandlerForRealm (IntPtr realm, ILogHandler logHandler, ITibProperties properties)
static void | SetLogLevelForRealm (IntPtr realm, String level)

## Static Public Attributes
const String | BROWSER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.browser.persistence.retry.duration"
| Retry duration for browser operations; double. More...
const String | BROWSER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.browser.label"
| Property name for a browser label; string. More...
const String | BROWSER_PROPERTY_STRING_MATCHER = "com.tibco.ftl.client.browser.matcher"
| Property name for a browser matcher; string. More...
static readonly string | BUILTIN_MSG_FMT_KEY_FIELDNAME = "_key"
| Built-in field name of the key field in a keyed opaque message. More...
static readonly long | BUILTIN_MSG_FMT_KEY_MAXLEN = 255
| Maximum length (in bytes) of the key field of a keyed opaque message. More...
static readonly string | BUILTIN_MSG_FMT_KEYED_OPAQUE = "_keyed_opaque"
| Built-in format name for keyed opaque messages. More...
static readonly string | BUILTIN_MSG_FMT_OPAQUE = "_default_opaque"
| Built-in format name for opaque messages. More...
static readonly string | BUILTIN_MSG_FMT_OPAQUE_FIELDNAME = "_data"
| Built-in field name of the data field in an opaque message or a keyed opaque message More...
static readonly long | BUILTIN_MSG_FMT_OPAQUE_MAXSIZE = 12000
| Maximum efficient length (in bytes) of a built-in opaque message. More...
const int | EVENTQUEUE_DISCARD_NEW = 2
| Discard new events, instead of adding them to the queue. More...
const int | EVENTQUEUE_DISCARD_NONE = 0
| Do not discard events (default behavior). More...
const int | EVENTQUEUE_DISCARD_OLD = 1
| Discard old events from the head of the queue. More...
static readonly string | EVENTQUEUE_PROPERTY_BOOL_INLINE_MODE = "com.tibco.ftl.client.inline"
| Inline mode (low-latency); boolean. More...
static readonly string | EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY = "com.tibco.ftl.client.discard.policy"
| Discard policy; integer. More...
static readonly string | EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_DISCARD_AMOUNT = "com.tibco.ftl.client.discard.amount"
| Discard amount; integer. More...
static readonly string | EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS = "com.tibco.ftl.client.discard.max_events"
| Max events; integer. More...
static readonly string | EVENTQUEUE_PROPERTY_STRING_NAME = "com.tibco.ftl.client.queue.name"
| Queue name; string. More...
static readonly string | LOG_LEVEL_DEBUG = "debug"
| Debug – output trace entries for all events (debug, verbose, information, warning and severe events). See LogLevel. More...
static readonly string | LOG_LEVEL_INFO = "info"
| Info – output trace entries for information, warning and severe events. See LogLevel. More...
static readonly string | LOG_LEVEL_OFF = "off"
| Off – disable all tracing. See LogLevel. More...
static readonly string | LOG_LEVEL_SEVERE = "severe"
| Severe – output trace entries only for severe events. See LogLevel. More...
static readonly string | LOG_LEVEL_VERBOSE = "verbose"
| Verbose – output trace entries for verbose, information, warning and severe events. See LogLevel. More...
static readonly string | LOG_LEVEL_WARN = "warn"
| Warn – output trace entries for warning and severe events. See LogLevel. More...
static readonly string | PUBLISHER_PROPERTY_BOOL_RELEASE_MSGS_TO_SEND = "com.tibco.ftl.client.publisher.release"
| Ownership of outbound messages; boolean. More...
static readonly string | PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_CLOSE_LINGER = "com.tibco.ftl.client.publisher.persistence.close.linger"
| Linger duration for persistent publisher close operation; double. More...
static readonly string | PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.publisher.persistence.retry.duration"
| Retry duration for persistent publisher operations; double. More...
static readonly string | PUBLISHER_PROPERTY_INT_MAX_BATCH_COUNT = "com.tibco.ftl.client.publisher.max.batch"
| Maximum batch count for non-inline publishers; integer. More...
const String | PUBLISHER_PROPERTY_INT_SEND_POLICY = "com.tibco.ftl.client.publisher.send.policy"
| Publisher send policy; string. More...
static readonly string | PUBLISHER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.publisher.label"
| Property name for a publisher label; string More...
static readonly string | PUBLISHER_PROPERTY_STRING_REPLY_ENDPOINT = "com.tibco.ftl.client.publisher.reply.endpoint"
| Property name for a publisher reply endpoint; string. More...
const int | PUBLISHER_SEND_INLINE = 0
| Publish with low latency; integer. More...
const int | PUBLISHER_SEND_NON_INLINE = 1
| Publish with high throughput; integer. More...
static readonly string | REALM_PROPERTY_BOOL_TRUST_EVERYONE = "com.tibco.ftl.trust.everyone"
| Property name for skipping TLS certificate validation; boolean. More...
static readonly string | REALM_PROPERTY_DOUBLE_CONNECT_INTERVAL = "com.tibco.ftl.client.interval"
| Property name for the interval between connection attempts; double. More...
static readonly long | REALM_PROPERTY_HTTPS_CONNECTION_TRUST_EVERYONE = 0
| Deprecated. Trust any FTL server; property value constant. More...
static readonly long | REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_FILE = 1
| Deprecated. Trust an FTL server if its certificate is in a trust file; property value constant. More...
static readonly long | REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_STRING = 2
| Deprecated. Trust an FTL server if its certificate is in a trust string; property value constant. More...
static readonly string | REALM_PROPERTY_LONG_CONNECT_RETRIES = "com.tibco.ftl.client.retries"
| Property name for number of connection attempts; long. More...
static readonly string | REALM_PROPERTY_LONG_SECURITY_LEVEL = "com.tibco.ftl.security.level"
| Property name for secure FTL server trust data; string. More...
static readonly string | REALM_PROPERTY_LONG_TRUST_TYPE = "com.tibco.ftl.trust.type"
| Deprecated. Property name for secure FTL server trust type; long. More...
static readonly string | REALM_PROPERTY_STRING_APPINSTANCE_IDENTIFIER = "com.tibco.ftl.client.appinstance.identifier"
| Property name for application instance identifier; string. More...
static readonly string | REALM_PROPERTY_STRING_CLIENT_CERT = "com.tibco.ftl.client.cert"
| Property name for client identity certificate; string. More...
static readonly string | REALM_PROPERTY_STRING_CLIENT_LABEL = "com.tibco.ftl.client.label"
| Property name for client label; string. More...
static readonly string | REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY = "com.tibco.ftl.client.private.key"
| Property name for client certificate's private key; string. More...
static readonly string | REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD = "com.tibco.ftl.client.private.key.password"
| Property name for client certificate's private key password; string. More...
static readonly string | REALM_PROPERTY_STRING_OAUTH2_ACCESS_TOKEN = "com.tibco.ftl.oauth2.access.token"
| Property name to specify OAuth 2.0 access token. More...
static readonly string | REALM_PROPERTY_STRING_OAUTH2_CLIENT_ID = "com.tibco.ftl.oauth2.client.id"
| Property name for OAuth 2.0 client id, this client id is required to get the OAuth 2.0 access token; string More...
static readonly string | REALM_PROPERTY_STRING_OAUTH2_CLIENT_SECRET = "com.tibco.ftl.oauth2.client.secret"
| Property name for OAuth 2.0 client secret, this client secret is required to get the OAuth 2.0 access token; string More...
static readonly string | REALM_PROPERTY_STRING_OAUTH2_SERVER_TRUST_FILE = "com.tibco.ftl.oauth2.server.trust.file"
| Property name for OAuth 2.0 server specific trust file. More...
static readonly string | REALM_PROPERTY_STRING_OAUTH2_SERVER_URL = "com.tibco.ftl.oauth2.server.url"
| Property name for OAuth 2.0 server URL. More...
static readonly string | REALM_PROPERTY_STRING_SECONDARY_SERVER = "com.tibco.ftl.client.secondary"
static readonly string | REALM_PROPERTY_STRING_TRUST_FILE = "com.tibco.ftl.trust.file"
| Property name for secure FTL server trust file; string. More...
static readonly string | REALM_PROPERTY_STRING_TRUST_PEM_STRING = "com.tibco.ftl.trust.pem.string"
| Property name for secure FTL server trust data; string. More...
static readonly string | REALM_PROPERTY_STRING_USERNAME = "com.tibco.ftl.client.username"
| Property name for FTL server username; string. More...
static readonly string | REALM_PROPERTY_STRING_USERPASSWORD = "com.tibco.ftl.client.userpassword"
| Property name for FTL server password; string. More...
static readonly string | SUBSCRIBER_PROPERTY_BOOL_EXPLICIT_ACK = "com.tibco.ftl.client.subscriber.explicitack"
| Explicit acknowledgement; boolean. More...
static readonly string | SUBSCRIBER_PROPERTY_BOOL_NOLOCAL_MESSAGE_DELIVERY = "com.tibco.ftl.client.subscriber.nolocal.message.delivery"
| brief No Local property that inhibits delivery of messages published by publishers on the same connection as the subscriber; boolean. More...
static readonly string | SUBSCRIBER_PROPERTY_BOOL_RELEASE_MSGS_TO_CALLBACK = "com.tibco.ftl.client.subscriber.release"
| Ownership of inbound messages; boolean. More...
static readonly string | SUBSCRIBER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.subscriber.persistence.retry.duration"
| Retry duration for persistent subscriber operations; double. More...
static readonly string | SUBSCRIBER_PROPERTY_LONG_PREFETCH_SIZE = "com.tibco.ftl.client.subscriber.prefetch.size"
| Property name for setting the prefetch; long. More...
static readonly string | SUBSCRIBER_PROPERTY_STRING_DURABLE_NAME = "com.tibco.ftl.client.durable.name"
| Durable name property; string. More...
static readonly string | SUBSCRIBER_PROPERTY_STRING_KEY_FIELD_NAME = "com.tibco.ftl.client.subscriber.keyfieldname"
| Key field name for a dynamic last-value durable; string. More...
static readonly string | SUBSCRIBER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.subscriber.label"
| Property name for a subscriber label; string More...
static readonly string | SUBSCRIBER_PROPERTY_STRING_NAME = "com.tibco.ftl.client.subscriber.name"
| Static durable subscriber name property; string. More...
static readonly string | TIBLOCK_PROPERTY_DOUBLE_LOCK_ACQUIRE_RETRY_DURATION = "com.tibco.ftl.lock.acquire.retry.duration"
| Retry duration for lock requests. double More...
static readonly string | TIBMAP_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.map.persistence.retry.duration"
| Retry duration for map operations; double. More...
static readonly string | TIBMAP_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.map.label"
| Property name for a map label; string More...
static readonly string | TIBMAPITER_PROPERTY_STRING_MATCHER = "com.tibco.ftl.client.map.iter.matcher"
| Property name for specifying a matcher to the map iterator. More...

## Properties
static String | LogLevel`[set]`
| Set the global log trace level for low-level FTL internal calls. More...
static String | Version`[get]`
| Version of the FTL class library. More...

## Detailed Description

The class FTL is the first entry point of an FTL program.

Programs use the class FTL to create IRealm and ITibProperties objects, and to set log levels.

Programmers can expect all public methods of FTL interfaces to throw either FTLException, or a more specific subclass.

Programs do not instantiate this class.

## Member Function Documentation

## ◆ Close()

static void TIBCO.FTL.FTL.Close | ( |  | ) |
| inline static

This call closes (that is, terminates) FTL within your program, and reclaims unmanaged resources.

Programs must not call `Close` within a callback.

Programs must `Dispose` IRealm objects before closing FTL.

See also
  IDisposable.Dispose()

## ◆ ConnectToRealmServer()

static IRealm TIBCO.FTL.FTL.ConnectToRealmServer | ( | String | ServerUrl,
|  | String | AppName,
|  | ITibProperties | Properties
| ) |  |
| inline static

Connect to an FTL server, and create a realm object.

The FTL server defines information about endpoints, transports and formats, which lets applications communicate within a realm. The realm object is a local copy (within your program) of the subset of the realm information that pertains to your application.

Note: It is good practice that each application process maintain only one connection to each relevant FTL server. Realm objects are thread-safe; you can safely use the same realm object in all the threads of an application program. Do not duplicate connections to the same realm server in several threads, which would duplicate the realm object.

Parameters

  ServerUrl | The call contacts the FTL server at this URL.
  AppName | The call sends this application name to the FTL server. The server responds with an application-specific subset of the realm information. To use the default application, supply null.
  Properties | Properties configure interaction with the FTL server. Required for connecting to a secure FTL server, for authentication, and for fault tolerance. Otherwise optional; to omit, supply null. TLS Secure FTL Server Properties REALM_PROPERTY_STRING_TRUST_FILE REALM_PROPERTY_STRING_TRUST_PEM_STRING REALM_PROPERTY_BOOL_TRUST_EVERYONE REALM_PROPERTY_LONG_SECURITY_LEVEL Authenication Properties REALM_PROPERTY_STRING_USERNAME REALM_PROPERTY_STRING_USERPASSWORD REALM_PROPERTY_STRING_CLIENT_CERT REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD Note: If USERPASSWORD is specified, but USERNAME is not, the call will fail. Application Instance Property REALM_PROPERTY_STRING_APPINSTANCE_IDENTIFIER Connection Attempts Properties REALM_PROPERTY_LONG_CONNECT_RETRIES REALM_PROPERTY_DOUBLE_CONNECT_INTERVAL

Returns

  On success, this method returns a realm object.

  On failure, this method returns null.

## ◆ CreateProperties()

static ITibProperties TIBCO.FTL.FTL.CreateProperties | ( |  | ) |
| inline static

Create an empty property list object without any default values.

As a mechanism for configuring objects, some FTL creation calls accept a properties object, which contains paired property names and values.

Returns
  A new properties object.

## ◆ IsOpen()

static bool TIBCO.FTL.FTL.IsOpen | ( |  | ) |
| inline static

This method is for TIBCO internal use only.

This method will be removed from the public interface in a future release.

Returns
  Do not use.

## ◆ SetLogFiles()

static void TIBCO.FTL.FTL.SetLogFiles | ( | String | filePrefix,
|  | long | maxFileSize,
|  | int | maxFiles,
|  | ITibProperties | properties
| ) |  |
| inline static

Arrange rotating log files.

The filename extension `.0` indicates the current log file. Rotation shifts each file by incrementing its numeric extension. If the number of files would exceed the maximum, rotation deletes the oldest file.

Parameters

  filePrefix | All log files begin with this filename prefix.
  maxFileSize | FTL rotates the log files when the current log file exceeds this limit (in bytes). This value must be greater than 102400 (100 kilobytes).
  maxFiles | FTL limits the number of log files to this maximum.
  properties | Reserved for future use. To ensure forward compatibility, programmers must supply null.

## ◆ SetLogFilesForRealm()

static void TIBCO.FTL.FTL.SetLogFilesForRealm | ( | IntPtr | realm,
|  | String | filePrefix,
|  | long | maxFileSize,
|  | int | maxFiles,
|  | ITibProperties | properties
| ) |  |
| inline static

## ◆ SetLogHandler()

static void TIBCO.FTL.FTL.SetLogHandler | ( | ILogHandler | logHandler,
|  | ITibProperties | properties
| ) |  |
| inline static

Register a global log handler.

If you register a log handler (at most one), then FTL directs all log statements to that handler.

Parameters

  logHandler | FTL invokes this log handler to process all log statements.
  properties | Reserved for future use. To ensure forward compatibility, programmers must supply null.

## ◆ SetLogHandlerForRealm()

static void TIBCO.FTL.FTL.SetLogHandlerForRealm | ( | IntPtr | realm,
|  | ILogHandler | logHandler,
|  | ITibProperties | properties
| ) |  |
| inline static

## ◆ SetLogLevelForRealm()

static void TIBCO.FTL.FTL.SetLogLevelForRealm | ( | IntPtr | realm,
|  | String | level
| ) |  |
| inline static

## Member Data Documentation

## ◆ BROWSER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION

const String TIBCO.FTL.FTL.BROWSER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.browser.persistence.retry.duration"
| static

Retry duration for browser operations; double.

When IRealm.CreateBrowser() or ITibBrowser.DeleteMessage() cannot access the persistence server (usually because of network failure or quorum unavailability), they can automatically retry the interaction. The value of this property overrides the retry behavior of the server. Supply it to the browser create call.

Values:

- 0 No retry. The call raises an exception.
- -1 Synchronously retry the interaction until it succeeds. The 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.

Closing the realm or destroying the browser supersedes and cancels retry behavior.

This property does not apply to ITibBrowser.Next().

## ◆ BROWSER_PROPERTY_STRING_LABEL

const String TIBCO.FTL.FTL.BROWSER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.browser.label"
| static

Property name for a browser label; string.

It is good practice to include this property in every browser create call. Monitoring data incorporates these labels so administrators can identify and distinguish among internal subscribers created on behalf of browsers. Use labels that reveal the unique role and identity of each durable within the application program.

When the browser label is present in the browser create call, the new browser assigns it as the label of its internal subscribers.

See IRealm.CreateBrowser().

## ◆ BROWSER_PROPERTY_STRING_MATCHER

const String TIBCO.FTL.FTL.BROWSER_PROPERTY_STRING_MATCHER = "com.tibco.ftl.client.browser.matcher"
| static

Property name for a browser matcher; string.

Limit the browser to messages that match this string.

See IRealm.CreateBrowser().

## ◆ BUILTIN_MSG_FMT_KEY_FIELDNAME

readonly string TIBCO.FTL.FTL.BUILTIN_MSG_FMT_KEY_FIELDNAME = "_key"
| static

Built-in field name of the key field in a keyed opaque message.

## ◆ BUILTIN_MSG_FMT_KEY_MAXLEN

readonly long TIBCO.FTL.FTL.BUILTIN_MSG_FMT_KEY_MAXLEN = 255
| static

Maximum length (in bytes) of the key field of a keyed opaque message.

## ◆ BUILTIN_MSG_FMT_KEYED_OPAQUE

readonly string TIBCO.FTL.FTL.BUILTIN_MSG_FMT_KEYED_OPAQUE = "_keyed_opaque"
| static

Built-in format name for keyed opaque messages.

Keyed opaque messages contain only a character string and a byte-string. Content matchers can match against the key field (character string).

This format name is valid as an argument to IRealm.CreateMessage(string).

## ◆ BUILTIN_MSG_FMT_OPAQUE

readonly string TIBCO.FTL.FTL.BUILTIN_MSG_FMT_OPAQUE = "_default_opaque"
| static

Built-in format name for opaque messages.

Opaque messages contain only a byte-string.

This format name is valid as an argument to IRealm.CreateMessage(string).

## ◆ BUILTIN_MSG_FMT_OPAQUE_FIELDNAME

readonly string TIBCO.FTL.FTL.BUILTIN_MSG_FMT_OPAQUE_FIELDNAME = "_data"
| static

Built-in field name of the data field in an opaque message or a keyed opaque message

## ◆ BUILTIN_MSG_FMT_OPAQUE_MAXSIZE

readonly long TIBCO.FTL.FTL.BUILTIN_MSG_FMT_OPAQUE_MAXSIZE = 12000
| static

Maximum efficient length (in bytes) of a built-in opaque message.

Larger payloads are less efficient.

This threshold also limits the total length of a keyed opaque message (including the key string, its null terminator, and the opaque data).

## ◆ EVENTQUEUE_DISCARD_NEW

const int TIBCO.FTL.FTL.EVENTQUEUE_DISCARD_NEW = 2
| static

Discard new events, instead of adding them to the queue.

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY

## ◆ EVENTQUEUE_DISCARD_NONE

const int TIBCO.FTL.FTL.EVENTQUEUE_DISCARD_NONE = 0
| static

Do not discard events (default behavior).

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY

## ◆ EVENTQUEUE_DISCARD_OLD

const int TIBCO.FTL.FTL.EVENTQUEUE_DISCARD_OLD = 1
| static

Discard old events from the head of the queue.

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY

## ◆ EVENTQUEUE_PROPERTY_BOOL_INLINE_MODE

readonly string TIBCO.FTL.FTL.EVENTQUEUE_PROPERTY_BOOL_INLINE_MODE = "com.tibco.ftl.client.inline"
| static

Inline mode (low-latency); boolean.

Programs that receive time-sensitive messages can use inline mode to favor low latency over high throughput. Inline mode reduces inbound message latency using inline transport I/O in the same thread as the ISubscriberListener callback method.

Inline mode requires that callback methods always return quickly; otherwise, long callbacks can delay message I/O (defeating the purpose of inline mode).

Inline mode could reduce the average number of messages in the vectors that the callback receives.

It is good practice to dispatch an inline queue from only one thread. Dispatching an inline-mode queue from several threads could result in actual wait times that are longer than the dispatch timeout arguments. For example, if thread A dispatches with timeout 10 seconds, and thread B dispatches with timeout 15 seconds, then the timer for thread B does not start until after the dispatch call returns in thread A. The apparent timeout for thread B could be as long as 25 seconds.

When specifying inline mode, programmers must coordinate with administrators to avoid illegal state exceptions.

To enable inline mode, pass this property to IRealm.CreateEventQueue(ITibProperties) with value `true`. Otherwise, the default behavior disables inline mode.

## ◆ EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY

readonly string TIBCO.FTL.FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY = "com.tibco.ftl.client.discard.policy"
| static

Discard policy; integer.

This property determines the behavior of the queue on overflow (too many events).

To enable discard on overflow, pass this property to IRealm.CreateEventQueue(ITibProperties). Otherwise, the default behavior disables discard.

These members are the legal values:

- FTL.EVENTQUEUE_DISCARD_NONE
- FTL.EVENTQUEUE_DISCARD_OLD
- FTL.EVENTQUEUE_DISCARD_NEW

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS, FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_DISCARD_AMOUNT

## ◆ EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_DISCARD_AMOUNT

readonly string TIBCO.FTL.FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_DISCARD_AMOUNT = "com.tibco.ftl.client.discard.amount"
| static

Discard amount; integer.

When a queue overflows, this property determines the number of events to discard.

If you specify FTL.EVENTQUEUE_DISCARD_OLD, you may also specify this value. The value must be less than FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS. When absent, the default value is 1.

If you specify FTL.EVENTQUEUE_DISCARD_NEW, then IRealm.CreateEventQueue(ITibProperties) ignores this value. Discarding new events always discards exactly enough events so that the rest fit on the queue.

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY, FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS

## ◆ EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS

readonly string TIBCO.FTL.FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_MAX_EVENTS = "com.tibco.ftl.client.discard.max_events"
| static

Max events; integer.

When distributing an event to the queue would overflow this limit, the queue discards events.

If you specify a discard policy that could actually discard events, then you must also specify a value for this maximum.

See also
  FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY, FTL.EVENTQUEUE_PROPERTY_INT_DISCARD_POLICY_DISCARD_AMOUNT

## ◆ EVENTQUEUE_PROPERTY_STRING_NAME

readonly string TIBCO.FTL.FTL.EVENTQUEUE_PROPERTY_STRING_NAME = "com.tibco.ftl.client.queue.name"
| static

Queue name; string.

It is good practice to assign a unique name to each event queue (that is, unique within the program). If the queue discards events, the advisory message identifies the queue using this name, which can help diagnose the issue.

## ◆ LOG_LEVEL_DEBUG

readonly string TIBCO.FTL.FTL.LOG_LEVEL_DEBUG = "debug"
| static

Debug – output trace entries for all events (debug, verbose, information, warning and severe events). See LogLevel.

## ◆ LOG_LEVEL_INFO

readonly string TIBCO.FTL.FTL.LOG_LEVEL_INFO = "info"
| static

Info – output trace entries for information, warning and severe events. See LogLevel.

## ◆ LOG_LEVEL_OFF

readonly string TIBCO.FTL.FTL.LOG_LEVEL_OFF = "off"
| static

Off – disable all tracing. See LogLevel.

## ◆ LOG_LEVEL_SEVERE

readonly string TIBCO.FTL.FTL.LOG_LEVEL_SEVERE = "severe"
| static

Severe – output trace entries only for severe events. See LogLevel.

## ◆ LOG_LEVEL_VERBOSE

readonly string TIBCO.FTL.FTL.LOG_LEVEL_VERBOSE = "verbose"
| static

Verbose – output trace entries for verbose, information, warning and severe events. See LogLevel.

## ◆ LOG_LEVEL_WARN

readonly string TIBCO.FTL.FTL.LOG_LEVEL_WARN = "warn"
| static

Warn – output trace entries for warning and severe events. See LogLevel.

## ◆ PUBLISHER_PROPERTY_BOOL_RELEASE_MSGS_TO_SEND

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_BOOL_RELEASE_MSGS_TO_SEND = "com.tibco.ftl.client.publisher.release"
| static

Ownership of outbound messages; boolean.

When `false` or absent, client program code retains ownership of outbound messages that it sends through this publisher.

When `true`, the FTL library accepts ownership of outbound messages that the client sends through this publisher. Client code releases the message object when it invokes the send call; from that moment onward, client code must not reference the message object, because the FTL library can destroy the message object at any time.

Client code can release a message only if client owns the message. In particular, if a subscriber does not release its messages to the callback, then the callback must not send it through a publisher that releases messages. (See FTL.SUBSCRIBER_PROPERTY_BOOL_RELEASE_MSGS_TO_CALLBACK.)

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_CLOSE_LINGER

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_CLOSE_LINGER = "com.tibco.ftl.client.publisher.persistence.close.linger"
| static

Linger duration for persistent publisher close operation; double.

When a persistence publisher is configured for non-inline send, and the publisher is disposed of while there are still messages waiting to be persisted, the publisher can be configured to wait for some time before doing final cleanup. If the linger period elapses, and the messages have not been successfully persisted, the messages will be discarded. Set this property to control the linger behavior of publisher close. The default value is 30 seconds.

Values:

- 0 Close the publisher immediately.
- -1 Close the publisher only after it successfully persisted all outstanding messages
- n (Any positive double value) Wait for the publisher to persist outstanding messages for at most n seconds. Proceed with closing the publisher upon success or timeout, whichever comes first.

Closing the realm supersedes and cancels linger behavior.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.publisher.persistence.retry.duration"
| static

Retry duration for persistent publisher operations; double.

When IRealm.CreatePublisher(string, ITibProperties), IPublisher.Send(IMessage), IPublisher.Send(IMessage[]), or IPublisher.Send(IMessage[], int) cannot access the persistence server (usually because of network failure or quorum unavailability), they can automatically retry the interaction. The value of this property overrides the retry behavior of the server. Supply it to the publisher create call.

Values:

- 0 No retry. The call raises an exception.
- -1 Synchronously retry the interaction until it succeeds. The 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.

Closing the publisher or the realm supersedes and cancels retry behavior.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_INT_MAX_BATCH_COUNT

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_INT_MAX_BATCH_COUNT = "com.tibco.ftl.client.publisher.max.batch"
| static

Maximum batch count for non-inline publishers; integer.

When a persistence publisher is configured for non-inline send, this is the maximum number of messages that may be in flight to the persistence service at any given time. When this limit is reached, IPublisher.Send(IMessage) blocks until some messages can be persisted, or a failure occurs. The default value is 100.

The IPublisher.GetMaxBatchCount call returns the value currently in effect.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_INT_SEND_POLICY

const String TIBCO.FTL.FTL.PUBLISHER_PROPERTY_INT_SEND_POLICY = "com.tibco.ftl.client.publisher.send.policy"
| static

Publisher send policy; string.

Optimize the publisher for lower latency or greater throughput. The default behavior depends on the realm configuration.

Values:

- FTL.PUBLISHER_SEND_INLINE Send the message immediately, to reduce latency.
- FTL.PUBLISHER_SEND_NON_INLINE Buffer and batch messages before sending to help improve throughput.

When publishing to a store, and the administrator has configured publisher mode store_confirm_send for the store, the inline send policy causes IPublisher.Send(IMessage) and IPublisher.Send(IMessage[]) to block until the message(s) have been successfully persisted, or until a failure occurs.

When publishing to a store, and the administrator has configured publisher mode store_confirm_send for the store, the non-inline send policy changes the behavior of IPublisher.Send(IMessage).

- Calls to IPublisher.Send(IMessage) return immediately, unless the maximum batch count has been reached. The message will be persisted in the background. See FTL.PUBLISHER_PROPERTY_INT_MAX_BATCH_COUNT.
- If a failure occurs in the background, the next call to IPublisher.Send(IMessage) or IPublisher.Flush will raise an exception. When this happens the application must assume that the most recent messages, up to the maximum batch count and including the message passed to IPublisher.Send(IMessage), have been lost. See FTL.PUBLISHER_PROPERTY_INT_MAX_BATCH_COUNT.
- When the application closes the publisher, some messages may not have been persisted. In this case the close call may linger for some time before discarding the messages. See FTL.PUBLISHER_PROPERTY_DOUBLE_PERSISTENCE_CLOSE_LINGER.
- Applications may call IPublisher.Flush to wait for all outstanding messages to be persisted.
- If a failure occurs in the background, an advisory will be generated. This is a hint to the application that an error has occurred, and that a call to IPublisher.Flush will raise an exception. See Advisory.NAME_NONINLINE_SEND_LOSS.

The IPublisher.GetSendPolicy call returns the value currently in effect.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_STRING_LABEL

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.publisher.label"
| static

Property name for a publisher label; string

It is good practice to include this property in every publisher create call. Monitoring data incorporates these labels so administrators can identify and distinguish among publishers. Use labels that reveal the unique role and identity of each publisher within the application program.

If a non-inline persistence publisher fails to persist a message, the resulting advisory will include the publisher label. See Advisory.NAME_NONINLINE_SEND_LOSS.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_PROPERTY_STRING_REPLY_ENDPOINT

readonly string TIBCO.FTL.FTL.PUBLISHER_PROPERTY_STRING_REPLY_ENDPOINT = "com.tibco.ftl.client.publisher.reply.endpoint"
| static

Property name for a publisher reply endpoint; string.

For IPublisher.SendRequest(IMessage, double) this specifies the endpoint on which the reply is received.

See also
  IRealm.CreatePublisher(string, ITibProperties)

## ◆ PUBLISHER_SEND_INLINE

const int TIBCO.FTL.FTL.PUBLISHER_SEND_INLINE = 0
| static

Publish with low latency; integer.

If this value is set for property PUBLISHER_PROPERTY_INT_SEND_POLICY. then publish calls IPublisher.Send(IMessage) and IPublisher.Send(IMessage[]) send messages immediately to reduce latency.

## ◆ PUBLISHER_SEND_NON_INLINE

const int TIBCO.FTL.FTL.PUBLISHER_SEND_NON_INLINE = 1
| static

Publish with high throughput; integer.

If this value is set for property PUBLISHER_PROPERTY_INT_SEND_POLICY. then publish call IPublisher.Send(IMessage) may batch messages in the background for improved throughput.

## ◆ REALM_PROPERTY_BOOL_TRUST_EVERYONE

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_BOOL_TRUST_EVERYONE = "com.tibco.ftl.trust.everyone"
| static

Property name for skipping TLS certificate validation; boolean.

Supply this property to FTL.ConnectToRealmServer.

The client trusts any FTL server without verifying trust in the server's certificate. Do not use this value except for convenience in development and testing. It is not secure.

## ◆ REALM_PROPERTY_DOUBLE_CONNECT_INTERVAL

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_DOUBLE_CONNECT_INTERVAL = "com.tibco.ftl.client.interval"
| static

Property name for the interval between connection attempts; double.

Supply this property to FTL.ConnectToRealmServer.

The connect call waits this interval (in seconds) between connection attempts.

The default value is 1.0.

This property applies only to tibRealm_Connect and does not affect

reconnects if the client loses connection to the FTL server.

## ◆ REALM_PROPERTY_HTTPS_CONNECTION_TRUST_EVERYONE

readonly long TIBCO.FTL.FTL.REALM_PROPERTY_HTTPS_CONNECTION_TRUST_EVERYONE = 0
| static

Deprecated. Trust any FTL server; property value constant.

This constant is deprecated. There is no need to use REALM_PROPERTY_LONG_TRUST_TYPE. Use REALM_PROPERTY_BOOL_TRUST_EVERYONE instead.

This constant is one possible value of the property REALM_PROPERTY_LONG_TRUST_TYPE in the method FTL.ConnectToRealmServer.

The client trusts any FTL server without verifying trust in the server's certificate. Do not use this value except for convenience in development and testing. It is not secure.

## ◆ REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_FILE

readonly long TIBCO.FTL.FTL.REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_FILE = 1
| static

Deprecated. Trust an FTL server if its certificate is in a trust file; property value constant.

This constant is deprecated. There is no need to use REALM_PROPERTY_LONG_TRUST_TYPE.

This constant is one possible value of the property REALM_PROPERTY_LONG_TRUST_TYPE in the method FTL.ConnectToRealmServer.

The client trusts the FTL server based on the trust file created by the FTL server and distributed by the administrator.

Specify the file path of the trust file in the property REALM_PROPERTY_STRING_TRUST_FILE.

## ◆ REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_STRING

readonly long TIBCO.FTL.FTL.REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_STRING = 2
| static

Deprecated. Trust an FTL server if its certificate is in a trust string; property value constant.

This constant is deprecated. There is no need to use REALM_PROPERTY_LONG_TRUST_TYPE.

This constant is one possible value of the property REALM_PROPERTY_LONG_TRUST_TYPE in the method FTL.ConnectToRealmServer.

The client trusts the FTL server based on a trust string.

Specify the trust string in the property REALM_PROPERTY_STRING_TRUST_PEM_STRING.

## ◆ REALM_PROPERTY_LONG_CONNECT_RETRIES

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_LONG_CONNECT_RETRIES = "com.tibco.ftl.client.retries"
| static

Property name for number of connection attempts; long.

Supply this property to FTL.ConnectToRealmServer.

If the connect call cannot connect to the FTL server after this maximum number of connection attempts, it fails with an exception.

The default value is retry forever (0).

## ◆ REALM_PROPERTY_LONG_SECURITY_LEVEL

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_LONG_SECURITY_LEVEL = "com.tibco.ftl.security.level"
| static

Property name for secure FTL server trust data; string.

Supply this property to FTL.ConnectToRealmServer.

The value of this property must be an integer between 0 and 5, inclusive.

If the administrator has configured a user-defined certificate at FTL server, the given security level is applied to all TLS connections to FTL server. In general, increasing the security level enforces stricter requirements for certificate keys, signatures, and ciphers. In particular, if the user-provided certificate does not meet the key requirements, the TLS connection will fail. The default security level is 2. FTL will enforce a minimum TLS version of 1.2 regardless of the actual security level.

If the administrator instead uses FTL-issued certificates for TLS, the given security level cannot be greater than 4. FTL will enforce a minimum TLS version of 1.3 when using FTL-issued certificates.

Refer to the openssl documentation for a precise definition of the openssl security level.

## ◆ REALM_PROPERTY_LONG_TRUST_TYPE

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_LONG_TRUST_TYPE = "com.tibco.ftl.trust.type"
| static

Deprecated. Property name for secure FTL server trust type; long.

This property is deprecated. Omit this property; instead, use REALM_PROPERTY_STRING_TRUST_FILE, REALM_PROPERTY_STRING_TRUST_PEM_STRING, or REALM_PROPERTY_BOOL_TRUST_EVERYONE. To use the system trust store, omit all of these properties.

Supply this property to FTL.ConnectToRealmServer. Its value determines trust in the FTL server's certificate.

See also
  REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_FILE, REALM_PROPERTY_HTTPS_CONNECTION_USE_SPECIFIED_TRUST_STRING, REALM_PROPERTY_HTTPS_CONNECTION_TRUST_EVERYONE

## ◆ REALM_PROPERTY_STRING_APPINSTANCE_IDENTIFIER

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_APPINSTANCE_IDENTIFIER = "com.tibco.ftl.client.appinstance.identifier"
| static

Property name for application instance identifier; string.

It is good practice to include this property in the realm connect call of every application program. It gives administrators flexible control over application deployment and over the transports that carry message traffic.

For example, the program obtains the application identifier as a command line argument (or through another configuration mechanism). If an application identifier is present, then the program passes it to FTL.ConnectToRealmServer as the value of this property.

Within the realm, administrators can define one or more application instances, which tailor the connections between endpoints and transports. The value of this property selects from among those instances.

## ◆ REALM_PROPERTY_STRING_CLIENT_CERT

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_CLIENT_CERT = "com.tibco.ftl.client.cert"
| static

Property name for client identity certificate; string.

Supply this property to FTL.ConnectToRealmServer.

As an alternative to user/password, client applications may use a TLS certificate to authenticate to FTL server. A TLS connection is required. Applications must also specify the private key alongside the certificate.

The value of this property must be a PEM file containing the certificate. The PEM file may also include intermediate certificates.

Administrators are responsible for distributing client certificates to applications. The client's auth roles should be encoded as a comma- separated list in the common name (CN) field of the client certificate.

See also
  REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY, REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD

## ◆ REALM_PROPERTY_STRING_CLIENT_LABEL

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_CLIENT_LABEL = "com.tibco.ftl.client.label"
| static

Property name for client label; string.

It is good practice to include this property in the realm connect call of every application program. Administrators can use client labels in monitoring and management to recognize and distinguish among processes.

For example, the program obtains the client label as a command line argument (or through another configuration mechanism). If a client label is present, then the program passes it to FTL.ConnectToRealmServer as the value of this property.

This property applies only to tibRealm_Connect and does not affect

reconnects if the client loses connection to the FTL server.

## ◆ REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY = "com.tibco.ftl.client.private.key"
| static

Property name for client certificate's private key; string.

Supply this property to FTL.ConnectToRealmServer.

When using a TLS certificate to authenticate to FTL server, the corresponding private key and passphrase must be specified as well.

The value of this property must be a PEM file containing the private key.

See also
  REALM_PROPERTY_STRING_CLIENT_CERT, REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD

## ◆ REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY_PASSWORD = "com.tibco.ftl.client.private.key.password"
| static

Property name for client certificate's private key password; string.

Supply this property to FTL.ConnectToRealmServer.

When using a TLS certificate to authenticate to FTL server, the corresponding private key and passphrase must be specified as well.

The value of this property must be a passphrase used to decrypt the private key.

See also
  REALM_PROPERTY_STRING_CLIENT_CERT, REALM_PROPERTY_STRING_CLIENT_PRIVATE_KEY

## ◆ REALM_PROPERTY_STRING_OAUTH2_ACCESS_TOKEN

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_OAUTH2_ACCESS_TOKEN = "com.tibco.ftl.oauth2.access.token"
| static

Property name to specify OAuth 2.0 access token.

When this parameter is specified, the FTL client library will use this access token to connect to FTL server.

If this property is specified then FTL client library will not attempt to fetch an access token from the OAuth 2.0 server.

Supply this property to FTL.ConnectToRealmServer.

## ◆ REALM_PROPERTY_STRING_OAUTH2_CLIENT_ID

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_OAUTH2_CLIENT_ID = "com.tibco.ftl.oauth2.client.id"
| static

Property name for OAuth 2.0 client id, this client id is required to get the OAuth 2.0 access token; string

When this parameter is specified along with TIB_REALM_PROPERTY_STRING_OAUTH2_SERVER_URL and TIB_REALM_PROPERTY_STRING_OAUTH2_CLIENT_SECRET, FTL client library will connect to the OAuth 2.0 server specified to get the OAuth 2.0 access token prior to connecting to the FTL Server.

Supply this property to FTL.ConnectToRealmServer.

## ◆ REALM_PROPERTY_STRING_OAUTH2_CLIENT_SECRET

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_OAUTH2_CLIENT_SECRET = "com.tibco.ftl.oauth2.client.secret"
| static

Property name for OAuth 2.0 client secret, this client secret is required to get the OAuth 2.0 access token; string

When this parameter is specified along with REALM_PROPERTY_STRING_OAUTH2_SERVER_URL and REALM_PROPERTY_STRING_OAUTH2_CLIENT_ID, FTL client library will connect to the OAuth 2.0 server specified to get the OAuth 2.0 access token prior to connecting to the FTL Server

Supply this property to FTL.ConnectToRealmServer.

## ◆ REALM_PROPERTY_STRING_OAUTH2_SERVER_TRUST_FILE

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_OAUTH2_SERVER_TRUST_FILE = "com.tibco.ftl.oauth2.server.trust.file"
| static

Property name for OAuth 2.0 server specific trust file.

When the connection to the OAuth 2.0 server is secure, specify this trust file, so the client knows who to trust.

Supply this property to FTL.ConnectToRealmServer.

## ◆ REALM_PROPERTY_STRING_OAUTH2_SERVER_URL

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_OAUTH2_SERVER_URL = "com.tibco.ftl.oauth2.server.url"
| static

Property name for OAuth 2.0 server URL.

When this parameter is specified along with REALM_PROPERTY_STRING_OAUTH2_CLIENT_SECRET and REALM_PROPERTY_STRING_OAUTH2_CLIENT_ID, FTL client library will connect to the OAuth 2.0 server specified to get the OAuth 2.0 access token prior to connecting to the FTL Server.

If this url scheme starts with https:// then specify REALM_PROPERTY_STRING_OAUTH2_SERVER_TRUST_FILE

Supply this property to FTL.ConnectToRealmServer.

## ◆ REALM_PROPERTY_STRING_SECONDARY_SERVER

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_SECONDARY_SERVER = "com.tibco.ftl.client.secondary"
| static

## ◆ REALM_PROPERTY_STRING_TRUST_FILE

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_TRUST_FILE = "com.tibco.ftl.trust.file"
| static

Property name for secure FTL server trust file; string.

Supply this property to FTL.ConnectToRealmServer.

Use this property to supply a trust string for TLS connections to FTL server. The string must contain one or more certificates in PEM format.

If the trust string contains only an FTL-issued root certificate, the library will also try to verify FTL server's certificate against the system trust store.

## ◆ REALM_PROPERTY_STRING_TRUST_PEM_STRING

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_TRUST_PEM_STRING = "com.tibco.ftl.trust.pem.string"
| static

Property name for secure FTL server trust data; string.

Supply this property to FTL.ConnectToRealmServer.

Use this property to supply a trust string for TLS connections to FTL server. The string must contain one or more certificates in PEM format.

If the trust string contains only an FTL-issued root certificate, the library will also try to verify FTL server's certificate against the system trust store.

## ◆ REALM_PROPERTY_STRING_USERNAME

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_USERNAME = "com.tibco.ftl.client.username"
| static

Property name for FTL server username; string.

Supply this property to FTL.ConnectToRealmServer which identifies your program to the FTL server with the username value you supply.

## ◆ REALM_PROPERTY_STRING_USERPASSWORD

readonly string TIBCO.FTL.FTL.REALM_PROPERTY_STRING_USERPASSWORD = "com.tibco.ftl.client.userpassword"
| static

Property name for FTL server password; string.

Supply this property to FTL.ConnectToRealmServer, which authenticates your program to the FTL server with the password value you supply. This can be a masked password, which would be unmasked before being sent to the realm service.

## ◆ SUBSCRIBER_PROPERTY_BOOL_EXPLICIT_ACK

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_BOOL_EXPLICIT_ACK = "com.tibco.ftl.client.subscriber.explicitack"
| static

Explicit acknowledgement; boolean.

A durable subscriber can acknowledge message receipt to its durable (in the persistence store) in either of two ways:

- With automatic acknowledgement, the FTL library automatically acknowledges the message when the application callback returns.
- With explicit acknowledgement, the application program must call IMessage.Acknowledge() to explicitly acknowledge each message.

To enable explicit acknowledgement mode, pass this property to IRealm.CreateSubscriber(string, ITibProperties) with value `true`. Otherwise, the default behavior is automatic acknowledgement.

## ◆ SUBSCRIBER_PROPERTY_BOOL_NOLOCAL_MESSAGE_DELIVERY

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_BOOL_NOLOCAL_MESSAGE_DELIVERY = "com.tibco.ftl.client.subscriber.nolocal.message.delivery"
| static

brief No Local property that inhibits delivery of messages published by publishers on the same connection as the subscriber; boolean.

This mainly applies only to subscribers on an endpoint that have a 'store' associated.

When `tibfalse` or absent, FTL delivers messages to the subscriber that are published by a publisher on the same connection This is the default behavior.

When `tibtrue`, FTL does not deliver messages that are published by publishers on the same connection as the subscriber.

## ◆ SUBSCRIBER_PROPERTY_BOOL_RELEASE_MSGS_TO_CALLBACK

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_BOOL_RELEASE_MSGS_TO_CALLBACK = "com.tibco.ftl.client.subscriber.release"
| static

Ownership of inbound messages; boolean.

When `false` or absent, the FTL library retains ownership of inbound messages that arrive through this subscriber. The library automatically destroys each message after the callback returns.

When `true`, client program code accepts ownership of inbound messages that arrive through this subscriber. The FTL library releases the message object when it dispatches the message to the client's callback. The callback can pass this message to another program thread. Client program code must explicitly destroy the message object.

## ◆ SUBSCRIBER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.subscriber.persistence.retry.duration"
| static

Retry duration for persistent subscriber operations; double.

When IRealm.CreateSubscriber(string, ITibProperties) or IMessage.Acknowledge() cannot access the persistence server (usually because of network failure or quorum unavailability), they can automatically retry the interaction. The value of this property overrides the retry behavior of the server. Supply it to the subscriber create call.

Values:

- 0 No retry. The call raises an exception.
- -1 Synchronously retry the interaction until it succeeds. The 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.

Closing the subscriber or the realm supersedes and cancels retry behavior.

## ◆ SUBSCRIBER_PROPERTY_LONG_PREFETCH_SIZE

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_LONG_PREFETCH_SIZE = "com.tibco.ftl.client.subscriber.prefetch.size"
| static

Property name for setting the prefetch; long.

Allows a subscriber to override the prefetch set by the administrator for a static durable or dynamic durable template.

When absent, the FTL library will default the prefetch value set by the administrator for a static durable or dynamic durable template.

When set to a value greater than zero, a subscriber receives prefetch number of messages in a batch as set by the subscriber.

NOTE: This value should be lower than the administrator configured value.

## ◆ SUBSCRIBER_PROPERTY_STRING_DURABLE_NAME

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_STRING_DURABLE_NAME = "com.tibco.ftl.client.durable.name"
| static

Durable name property; string.

To request messages from a persistence store, supply a durable name as the value of this property in a IRealm.CreateSubscriber(string, ITibProperties) call.

If a static or dynamic durable with this name already exists, the new subscriber draws messages from that durable.

Otherwise, the store creates a new dynamic durable with this name.

If this property is present, it overrides the FTL.SUBSCRIBER_PROPERTY_STRING_NAME property.

## ◆ SUBSCRIBER_PROPERTY_STRING_KEY_FIELD_NAME

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_STRING_KEY_FIELD_NAME = "com.tibco.ftl.client.subscriber.keyfieldname"
| static

Key field name for a dynamic last-value durable; string.

When creating or subscribing to a dynamic last-value durable, this property is required. Supply the name of the last-value durable's key field as the value of this property.

The subscriber's content matcher must match the key field against a specific value.

## ◆ SUBSCRIBER_PROPERTY_STRING_LABEL

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.subscriber.label"
| static

Property name for a subscriber label; string

It is good practice to include this property in every subscriber create call. Monitoring data incorporates these labels so administrators can identify and distinguish among subscribers. Use labels that reveal the unique role and identity of each subscriber within the application program.

The library does not use labels internally.

See also
  IRealm.CreateSubscriber(string, ITibProperties)

## ◆ SUBSCRIBER_PROPERTY_STRING_NAME

readonly string TIBCO.FTL.FTL.SUBSCRIBER_PROPERTY_STRING_NAME = "com.tibco.ftl.client.subscriber.name"
| static

Static durable subscriber name property; string.

To request messages from static durable in a persistence store, programs may supply a subscriber name as the value of this property in a IRealm.CreateSubscriber(string, ITibProperties) call.

If FTL.SUBSCRIBER_PROPERTY_STRING_DURABLE_NAME is present, it overrides this property.

If neither this property nor FTL.SUBSCRIBER_PROPERTY_STRING_DURABLE_NAME is present, then the create call uses the default durable subscriber name (`_default`).

Setting this value is required for only static durables where administrative configuration maps the subscriber name to a durable name.

## ◆ TIBLOCK_PROPERTY_DOUBLE_LOCK_ACQUIRE_RETRY_DURATION

readonly string TIBCO.FTL.FTL.TIBLOCK_PROPERTY_DOUBLE_LOCK_ACQUIRE_RETRY_DURATION = "com.tibco.ftl.lock.acquire.retry.duration"
| static

Retry duration for lock requests. double

Supply this property to IRealm.CreateLock.

This determines the number of seconds the client will attempt to acquire the lock. The client may retry if it can't access the persistence server, or wait if another client owns the lock. If the client does not already own the lock, the client attempts to acquire it when any map operation requiring a lock is called.

This value must be positive or zero. A value of 0 (zero) specifies no wait duration.

## ◆ TIBMAP_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION

readonly string TIBCO.FTL.FTL.TIBMAP_PROPERTY_DOUBLE_PERSISTENCE_RETRY_DURATION = "com.tibco.ftl.client.map.persistence.retry.duration"
| static

Retry duration for map operations; double.

When IRealm.CreateMap(String, String, ITibProperties), ITibMap.Set(string, IMessage), ITibMap.Get(string), or ITibMap.Remove(string) (with lock or without lock) cannot access the persistence server (usually because of network failure or quorum unavailability), they can automatically retry the interaction. The value of this property overrides the retry behavior of the server. Supply it to the map create call.

Values:

- 0 No retry. The call raises an exception.
- -1 Synchronously retry the interaction until it succeeds. The 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.

Closing the realm or destroying the map supersedes and cancels retry behavior.

This property does not apply to map iterators.

## ◆ TIBMAP_PROPERTY_STRING_LABEL

readonly string TIBCO.FTL.FTL.TIBMAP_PROPERTY_STRING_LABEL = "com.tibco.ftl.client.map.label"
| static

Property name for a map label; string

It is good practice to include this property in every map create call. Monitoring data incorporates these labels so administrators can identify and distinguish among internal publishers and subscribers created on behalf of maps. Use labels that reveal the unique role and identity of each map within the application program.

When the map label is present in the map create call, the new map assigns it as the label of its internal publishers and subscribers.

See also
  IRealm.CreateMap(String, String, ITibProperties)

## ◆ TIBMAPITER_PROPERTY_STRING_MATCHER

readonly string TIBCO.FTL.FTL.TIBMAPITER_PROPERTY_STRING_MATCHER = "com.tibco.ftl.client.map.iter.matcher"
| static

Property name for specifying a matcher to the map iterator.

Limit the iterator to only matches of the value to this string. ITibMap.CreateIterator(ITibProperties)

## Property Documentation

## ◆ LogLevel

String TIBCO.FTL.FTL.LogLevel
| static set

Set the global log trace level for low-level FTL internal calls.

This field determines the global log trace level for low-level FTL internal calls.

Set one log level for all logging elements, e.g., TIB_LOG_LEVEL_WARN.

Or, set log levels per element tag, e.g.,"transports:warn;api:debug".

Valid Levels:

- LOG_LEVEL_OFF, off
- LOG_LEVEL_SEVERE, severe
- LOG_LEVEL_WARN, warn
- LOG_LEVEL_INFO, info
- LOG_LEVEL_VERBOSE, verbose
- LOG_LEVEL_DEBUG, debug

Valid Element Tags:

- all - applies to all elements.
- application - logging for the application, e.g., API calls, message formats, and content matchers.
- transports - logging for transports, including peer connections, subscriber interest, message sends, protocols.
- msg - logging related to messages. For debug, print a representation of each inbound/outbound message.
- api - logging related to API calls.

For more information, see the topic Log Levels in the book TIBCO FTL Development.

## ◆ Version

String TIBCO.FTL.FTL.Version
| static get

Version of the FTL class library.

Programs can use this string to output the FTL version in a start banner or in debug output.