TIBCO FTL®

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

Factory for IGroup objects. More...

## Public Types
enum | GroupMemberEvent { JOINED = 0 , LEFT , DISCONNECTED }
| Group member event; enumeration. More...
enum | GroupMemberServerConnection { UNAVAILABLE = 0 , AVAILABLE }
| Group member connection to group server; enumeration. More...

## Static Public Member Functions
static IGroup | Join (IRealm realm, string groupName, ITibProperties props)
| Join a group, and create a group object. More...

## Static Public Attributes
static readonly string | ADVISORY_FIELD_GROUP = "group"
| Group name (field name). More...
static readonly string | ADVISORY_FIELD_ORDINAL = "ordinal"
| Group member ordinal (field name). More...
static readonly string | ADVISORY_MODULE_GROUP = "GROUP"
| The advisory message pertains to the group library implementation code (module). More...
static readonly string | ADVISORY_NAME_GROUP_STATUS = "GROUP_STATUS"
| The advisory message reports a group status update. More...
static readonly string | ADVISORY_NAME_ORDINAL_UPDATE = "ORDINAL_UPDATE"
| The advisory message reports an ordinal update. More...
static readonly string | FIELD_GROUP_MEMBER_DESCRIPTOR = "group_member_descriptor"
| Group member descriptor (field name). More...
static readonly string | FIELD_GROUP_MEMBER_EVENT = "group_member_event"
| Group member event (field name). More...
static readonly string | FIELD_GROUP_MEMBER_LIST = "group_member_list"
| Group member list (field name). More...
static readonly string | FIELD_GROUP_MEMBER_STATUS_LIST = "group_member_status_list"
| Group member status list (field name). More...
static readonly string | FIELD_GROUP_SERVER_AVAILABLE = "group_server_available"
| Group member connection to group server (field name). More...
static readonly string | PROPERTY_BOOLEAN_OBSERVER = "com.tibco.ftl.group.observer"
| Property name to monitor a group as an observer. More...
static readonly string | PROPERTY_DOUBLE_ACTIVATION_INTERVAL = "com.tibco.ftl.group.activationinterval"
| Property name for group activation interval; double. More...
static readonly string | PROPERTY_LONG_MEMBER_WEIGHT = "com.tibco.ftl.group.member.weight"
| Property name to set the weight of a group member. More...
static readonly string | PROPERTY_MESSAGE_MEMBER_DESCRIPTOR = "com.tibco.ftl.group.memberdescriptor"
| Property name for group member descriptor. More...

## Properties
static String | Version`[get]`
| Release string identifying the FTL group class library. More...

## Detailed Description

Factory for IGroup objects.

## Member Enumeration Documentation

## ◆ GroupMemberEvent

enum TIBCO.FTL.GROUP.GroupFactory.GroupMemberEvent

Group member event; enumeration.

The group member event field of a member status submessage can contain a value of this enumerated type.

See also
  FIELD_GROUP_MEMBER_EVENT

Enumerator
JOINED | The member joined the group, or is a member connected to the group server.
LEFT | The member left the group using an API call.
DISCONNECTED | The member unexpectedly disconnected from the group server.

## ◆ GroupMemberServerConnection

enum TIBCO.FTL.GROUP.GroupFactory.GroupMemberServerConnection

Group member connection to group server; enumeration.

The group server available field of a group status advisory message can contain a value of this enumerated type.

See also
  FIELD_GROUP_SERVER_AVAILABLE

Enumerator
UNAVAILABLE | The application is not connected to the group server.
AVAILABLE | The application is connected to the group server.

## Member Function Documentation

## ◆ Join()

static IGroup TIBCO.FTL.GROUP.GroupFactory.Join | ( | IRealm | realm,
|  | string | groupName,
|  | ITibProperties | props
| ) |  |
| inline static

Join a group, and create a group object.

The group object connects to the group server.

In best practice, programs first subscribe to the `ORDINAL_UPDATE` advisory, and then join a group.

Parameters

  realm | The call contacts the group server, which operates inside the FTL server for this realm object. Furthermore, the group facility raises advisory messages within this realm.
  groupName | The program supplies a string.
  props | Optional; to omit, supply `NULL`. Properties configure interaction with the group server and with other group members. GroupFactory.PROPERTY_DOUBLE_ACTIVATION_INTERVAL GroupFactory.PROPERTY_MESSAGE_MEMBER_DESCRIPTOR GroupFactory.PROPERTY_BOOLEAN_OBSERVER Properties configure interaction with the group server.

Returns
  This call returns an IGroup object.

## Member Data Documentation

## ◆ ADVISORY_FIELD_GROUP

readonly string TIBCO.FTL.GROUP.GroupFactory.ADVISORY_FIELD_GROUP = "group"
| static

Group name (field name).

The string value of the `group` name field is the name of the group to which the advisory pertains.

## ◆ ADVISORY_FIELD_ORDINAL

readonly string TIBCO.FTL.GROUP.GroupFactory.ADVISORY_FIELD_ORDINAL = "ordinal"
| static

Group member ordinal (field name).

The positive long value of the `ordinal` field represents the new ordinal of the group member.

The value -1 indicates that the group object is disconnected from the group server. The group object automatically attempts to reconnect, and continues until the program explicitly destroys it. Meanwhile, the group server could reassign the member's previous ordinal to another group member.

Zero is a reserved value.

## ◆ ADVISORY_MODULE_GROUP

readonly string TIBCO.FTL.GROUP.GroupFactory.ADVISORY_MODULE_GROUP = "GROUP"
| static

The advisory message pertains to the group library implementation code (module).

This string value can appear in the `module` field.

## ◆ ADVISORY_NAME_GROUP_STATUS

readonly string TIBCO.FTL.GROUP.GroupFactory.ADVISORY_NAME_GROUP_STATUS = "GROUP_STATUS"
| static

The advisory message reports a group status update.

This string value can appear in the `name` field.

See also
  Advisory.FIELD_NAME, ADVISORY_FIELD_GROUP, FIELD_GROUP_MEMBER_STATUS_LIST, FIELD_GROUP_MEMBER_DESCRIPTOR, FIELD_GROUP_MEMBER_EVENT, FIELD_GROUP_SERVER_AVAILABLE, Advisory.SEVERITY_INFO

## ◆ ADVISORY_NAME_ORDINAL_UPDATE

readonly string TIBCO.FTL.GROUP.GroupFactory.ADVISORY_NAME_ORDINAL_UPDATE = "ORDINAL_UPDATE"
| static

The advisory message reports an ordinal update.

This string value can appear in the `name` field.

See also
  Advisory.FIELD_NAME, ADVISORY_FIELD_GROUP, ADVISORY_FIELD_ORDINAL, Advisory.SEVERITY_INFO

## ◆ FIELD_GROUP_MEMBER_DESCRIPTOR

readonly string TIBCO.FTL.GROUP.GroupFactory.FIELD_GROUP_MEMBER_DESCRIPTOR = "group_member_descriptor"
| static

Group member descriptor (field name).

This field can can appear in a member status submessage. Its value is a group member descriptor, that is, a message that identifies a group member.

## ◆ FIELD_GROUP_MEMBER_EVENT

readonly string TIBCO.FTL.GROUP.GroupFactory.FIELD_GROUP_MEMBER_EVENT = "group_member_event"
| static

Group member event (field name).

This field can appear in a member status submessage. Its value is a GroupMemberEvent, that is, a long value that indicates the group member's current state or recent state change.

## ◆ FIELD_GROUP_MEMBER_LIST

readonly string TIBCO.FTL.GROUP.GroupFactory.FIELD_GROUP_MEMBER_LIST = "group_member_list"
| static

Group member list (field name).

This field can appear in response message of 'GetMembers' call. Its a message array field where each element is a message containing following field at the most: FIELD_GROUP_MEMBER_DESCRIPTOR

## ◆ FIELD_GROUP_MEMBER_STATUS_LIST

readonly string TIBCO.FTL.GROUP.GroupFactory.FIELD_GROUP_MEMBER_STATUS_LIST = "group_member_status_list"
| static

Group member status list (field name).

This field can appear in group status advisory messages. Its value is an array of member status submessages. Each submessage reports the status of one group member.

## ◆ FIELD_GROUP_SERVER_AVAILABLE

readonly string TIBCO.FTL.GROUP.GroupFactory.FIELD_GROUP_SERVER_AVAILABLE = "group_server_available"
| static

Group member connection to group server (field name).

This field can appear in a group status message. Its value is a GroupMemberServerConnection, that is, a long value that indicates whether the application process is connected to the group server.

## ◆ PROPERTY_BOOLEAN_OBSERVER

readonly string TIBCO.FTL.GROUP.GroupFactory.PROPERTY_BOOLEAN_OBSERVER = "com.tibco.ftl.group.observer"
| static

Property name to monitor a group as an observer.

To monitor a group as an observer, supply this optional property with value `true` to Join.

An observer never receives an ordinal, and does not trigger group member events.

## ◆ PROPERTY_DOUBLE_ACTIVATION_INTERVAL

readonly string TIBCO.FTL.GROUP.GroupFactory.PROPERTY_DOUBLE_ACTIVATION_INTERVAL = "com.tibco.ftl.group.activationinterval"
| static

Property name for group activation interval; double.

Supply this (optional) property to Join, which derives heartbeat and timeout intervals from this property value (in seconds). When absent, the default value is 5 seconds.

## ◆ PROPERTY_LONG_MEMBER_WEIGHT

readonly string TIBCO.FTL.GROUP.GroupFactory.PROPERTY_LONG_MEMBER_WEIGHT = "com.tibco.ftl.group.member.weight"
| static

Property name to set the weight of a group member.

To set weight for a group member, supply this optional property to Join.

Acceptable values are positive integers. When absent, the default value is 100. Zero is reserved value.

FTL group service uses relative weight values to determine the ordinals of the group member; members with higher weight take precedence.

## ◆ PROPERTY_MESSAGE_MEMBER_DESCRIPTOR

readonly string TIBCO.FTL.GROUP.GroupFactory.PROPERTY_MESSAGE_MEMBER_DESCRIPTOR = "com.tibco.ftl.group.memberdescriptor"
| static

Property name for group member descriptor.

To identify a group member to the other members, supply this optional property to Join.

The application programmer determines the content of the descriptor message. In best practice, each group member process supplies a unique descriptor.

## Property Documentation

## ◆ Version

String TIBCO.FTL.GROUP.GroupFactory.Version
| static get

Release string identifying the FTL group class library.

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