com.tibco.ftl

## Interface Advisory

-     public interface Advisory

  Asynchronous advisory messages carry information about the operation of FTL. Programs can receive this information through subscribers on the advisory endpoint.

  This interface class defines constants related to advisory messages, their field names and field values.

  Customers do not implement this interface.

  For more information, see the chapter "Advisory Messages" in the book TIBCO FTL Development.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `ENDPOINT_NAME` Name of the special endpoint that carries FTL advisory messages; string.
    `static java.lang.String` | `FIELD_ADVISORY` A field with this field name distinguishes advisory messages.
    `static java.lang.String` | `FIELD_AGGREGATION_COUNT` Aggregation incidents (field name).
    `static java.lang.String` | `FIELD_AGGREGATION_TIME` Aggregation time interval (field name).
    `static java.lang.String` | `FIELD_ENDPOINTS` Endpoints (field name).
    `static java.lang.String` | `FIELD_LOCK_NAME` Lock Name (field name).
    `static java.lang.String` | `FIELD_MODULE` Module (field name).
    `static java.lang.String` | `FIELD_NAME` Advisory name (field name).
    `static java.lang.String` | `FIELD_PUBLISHER_LABEL` Publisher label (field name).
    `static java.lang.String` | `FIELD_QUEUE_NAME` Queue name (field name).
    `static java.lang.String` | `FIELD_REASON` Advisory reason (field name).
    `static java.lang.String` | `FIELD_SEVERITY` Advisory severity (field name).
    `static java.lang.String` | `FIELD_SUBSCRIBER_NAME` Subscriber name (field name).
    `static java.lang.String` | `FIELD_TIMESTAMP` Timestamp (field name).
    `static java.lang.String` | `MODULE_BASE` The advisory message pertains to the FTL API base library implementation code (field value).
    `static java.lang.String` | `NAME_DATALOSS` The advisory message reports data loss (name).
    `static java.lang.String` | `NAME_LOCK_LOST` The advisory message reports that a lock previously held by this application was stolen by some other application.
    `static java.lang.String` | `NAME_NONINLINE_SEND_LOSS` The advisory message reports that a non-inline persistence publisher experienced a failure while trying to persist a message.
    `static java.lang.String` | `NAME_RESOURCE_AVAILABLE` The advisory message reports that a resource is available.
    `static java.lang.String` | `NAME_RESOURCE_UNAVAILABLE` The advisory message reports that a resource is unavailable.
    `static java.lang.String` | `NAME_RETRANSMISSION` The advisory message reports multicast retransmission.
    `static java.lang.String` | `NAME_SUBSCRIBER_FORCE_CLOSE` The advisory message reports that a persistence store forced a durable subscriber to close.
    `static java.lang.String` | `REASON_DURABLE_SUBSCRIBER_COLLISION` The advisory reports that a persistence store forced a subscriber to close; the reason is durable subscriber collision.
    `static java.lang.String` | `REASON_FAILOVER_LOSS` The advisory reports potential data loss; the reason is failover to a backup forwarding component.
    `static java.lang.String` | `REASON_INCOMPLETE_MESSAGE` The advisory reports data loss; the reason is an incomplete message.
    `static java.lang.String` | `REASON_LOCK_LOST_ON_DISCONNECT` The advisory reports lock lost notification; the reason is a lock that was previously held by this application was lost because of a disconnect from the persistence store.
    `static java.lang.String` | `REASON_LOCK_STOLEN` The advisory reports lock lost notification; the reason is a lock that was previously held by this application was stolen by some other application.
    `static java.lang.String` | `REASON_PERSISTENCE_STORE_AVAILABLE` The advisory reports resource availability; the reason is that a persistence store is available.
    `static java.lang.String` | `REASON_PERSISTENCE_STORE_AVAILABLE_AFTER_CLUSTER_DATALOSS` The advisory reports resource availability; the reason is that a persistence store is available but the cluster lost some or all data.
    `static java.lang.String` | `REASON_PERSISTENCE_STORE_UNAVAILABLE` The advisory reports resource unavailability; the reason is that a persistence store is not available.
    `static java.lang.String` | `REASON_QUEUE_LIMIT_EXCEEDED` The advisory message reports data loss; the reason is overflow of an event queue.
    `static java.lang.String` | `REASON_RECONNECT_LOSS` The advisory reports potential data loss; the reason is a temporary network disconnect between two connection-oriented transports (that is, TCP or RDMA).
    `static java.lang.String` | `REASON_RETRANSMISSION_REQUEST` The advisory reports that the subscribing endpoint of a multicast transport in the application requested retransmission from a publishing endpoint.
    `static java.lang.String` | `REASON_RETRANSMISSION_REQUEST_SUPPRESSED` The advisory reports that the subscribing endpoint of a multicast transport in the application would have requested retransmission, but request was suppressed.
    `static java.lang.String` | `REASON_RETRANSMISSION_SENT` The advisory reports that the publishing endpoint of a multicast transport in the application has sent a retransmission as requested.
    `static java.lang.String` | `REASON_SENDER_DISCARD` The advisory reports data loss; the reason is that a sending transport has discarded data in accordance with its backlog settings.
    `static java.lang.String` | `REASON_STORE_DISCARD_DATALOSS` The advisory reports data loss when a subscriber to a last-value durable has missed one or more messages from the persistence store.
    `static java.lang.String` | `REASON_TPORT_DATALOSS` The advisory reports data loss; the reason is a transport problem.
    `static java.lang.String` | `REASON_UPSTREAM_LOSS` The advisory reports potential data loss; the reason is a data loss advisory detected upstream at a forwarding component (such as a transport bridge).
    `static java.lang.String` | `SEVERITY_DEBUG` The advisory message is for debugging (severity value).
    `static java.lang.String` | `SEVERITY_INFO` The advisory message is informational (severity value).
    `static java.lang.String` | `SEVERITY_WARN` The advisory message is a warning (severity value).

- - ### Field Detail

    - #### ENDPOINT_NAME

          static final java.lang.String ENDPOINT_NAME

      Name of the special endpoint that carries FTL advisory messages; string.

      To receive FTL advisory messages, create a subscriber on the endpoint name `_advisoryEndpoint`.

      The realm object scopes the advisories that a subscriber on this endpoint can receive. That is, a subscriber to this endpoint receives only those advisories produced by other objects in the same program and the same realm (as the advisory subscriber).

      It is illegal to create a publisher on this endpoint name.

      See Also:
        Constant Field Values

    - #### FIELD_ADVISORY

          static final java.lang.String FIELD_ADVISORY

      A field with this field name distinguishes advisory messages.

      All advisory messages contain this field. Only advisory messages may contain this field.

      Use this field only for matching purposes. Your program code must never set this field in any message. This field always has the integer value 1.

      See Also:
        Constant Field Values

    - #### FIELD_SEVERITY

          static final java.lang.String FIELD_SEVERITY

      Advisory severity (field name).

      The string value of the `severity` field classifies each advisory according to the ability of FTL to fulfill its function as a message carrier.

      See Also:
        `SEVERITY_WARN`, `SEVERITY_INFO`, `SEVERITY_DEBUG`, Constant Field Values

    - #### SEVERITY_WARN

          static final java.lang.String SEVERITY_WARN

      The advisory message is a warning (severity value).

      Warnings indicate that although FTL functionality is impaired, FTL still continues to operate. As a result of impaired messaging, your application might behave incorrectly.

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

      See Also:
        `FIELD_SEVERITY`, Constant Field Values

    - #### SEVERITY_INFO

          static final java.lang.String SEVERITY_INFO

      The advisory message is informational (severity value).

      Informational advisories can report external state changes, or signal your program to change its operating state. Informational advisories do not indicate impaired FTL behavior.

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

      See Also:
        `FIELD_SEVERITY`, `Group.ADVISORY_NAME_ORDINAL_UPDATE`, `Group.ADVISORY_NAME_GROUP_STATUS`, Constant Field Values

    - #### SEVERITY_DEBUG

          static final java.lang.String SEVERITY_DEBUG

      The advisory message is for debugging (severity value).

      Debug advisories can report internal state changes, or signal an administrator to investigate. Debug advisories do not indicate impaired behavior.

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

      See Also:
        `FIELD_SEVERITY`, `NAME_RETRANSMISSION`, Constant Field Values

    - #### FIELD_MODULE

          static final java.lang.String FIELD_MODULE

      Module (field name).

      The string value of the `module` field denotes the part of FTL to which the advisory pertains.

      See Also:
        `MODULE_BASE`, `Group.ADVISORY_MODULE_GROUP`, Constant Field Values

    - #### MODULE_BASE

          static final java.lang.String MODULE_BASE

      The advisory message pertains to the FTL API base library implementation code (field value).

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

      See Also:
        `FIELD_MODULE`, Constant Field Values

    - #### FIELD_NAME

          static final java.lang.String FIELD_NAME

      Advisory name (field name).

      The string value of the `name` field denotes the main issue that the advisory reports.

      See Also:
        `NAME_DATALOSS`, `NAME_SUBSCRIBER_FORCE_CLOSE`, `NAME_RESOURCE_UNAVAILABLE`, `NAME_RESOURCE_AVAILABLE`, `NAME_RETRANSMISSION`, `NAME_LOCK_LOST`, `NAME_NONINLINE_SEND_LOSS`, `Group.ADVISORY_NAME_ORDINAL_UPDATE`, `Group.ADVISORY_NAME_GROUP_STATUS`, Constant Field Values

    - #### NAME_DATALOSS

          static final java.lang.String NAME_DATALOSS

      The advisory message reports data loss (name).

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

      The `reason` field distinguishes among several reasons for data loss.

      See Also:
        `FIELD_NAME`, `FIELD_REASON`, `REASON_QUEUE_LIMIT_EXCEEDED`, `REASON_TPORT_DATALOSS`, `REASON_SENDER_DISCARD`, `REASON_RECONNECT_LOSS`, `REASON_UPSTREAM_LOSS`, `REASON_INCOMPLETE_MESSAGE`, `REASON_FAILOVER_LOSS`, `REASON_STORE_DISCARD_DATALOSS`, Constant Field Values

    - #### NAME_SUBSCRIBER_FORCE_CLOSE

          static final java.lang.String NAME_SUBSCRIBER_FORCE_CLOSE

      The advisory message reports that a persistence store forced a durable subscriber to close.

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

      The `reason` field indicates the reason that the store forced the durable subscriber to close.

      See Also:
        `FIELD_NAME`, `FIELD_REASON`, `REASON_DURABLE_SUBSCRIBER_COLLISION`, `FIELD_ENDPOINTS`, `FIELD_SUBSCRIBER_NAME`, Constant Field Values

    - #### NAME_RESOURCE_UNAVAILABLE

          static final java.lang.String NAME_RESOURCE_UNAVAILABLE

      The advisory message reports that a resource is unavailable.

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

      The `reason` field notes the unavailable resource.

      See Also:
        `FIELD_NAME`, `FIELD_REASON`, `REASON_PERSISTENCE_STORE_UNAVAILABLE`, Constant Field Values

    - #### NAME_RESOURCE_AVAILABLE

          static final java.lang.String NAME_RESOURCE_AVAILABLE

      The advisory message reports that a resource is available.

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

      The `reason` field notes the available resource.

      See Also:
        `FIELD_NAME`, `FIELD_REASON`, `REASON_PERSISTENCE_STORE_AVAILABLE`, Constant Field Values

    - #### NAME_RETRANSMISSION

          static final java.lang.String NAME_RETRANSMISSION

      The advisory message reports multicast retransmission.

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

      Retransmission is a normal occurrence for multicast transports. Retransmission advisories give applications access to data about network conditions.

      The `reason` field distinguishes the type of retransmission advisory.

      See Also:
        `FIELD_NAME`, `FIELD_REASON`, `REASON_RETRANSMISSION_REQUEST`, `REASON_RETRANSMISSION_SENT`, `REASON_RETRANSMISSION_REQUEST_SUPPRESSED`, Constant Field Values

    - #### NAME_LOCK_LOST

          static final java.lang.String NAME_LOCK_LOST

      The advisory message reports that a lock previously held by this application was stolen by some other application.

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

      See Also:
        `FIELD_NAME`, `REASON_LOCK_STOLEN`, `REASON_LOCK_LOST_ON_DISCONNECT`, `FIELD_LOCK_NAME`, Constant Field Values

    - #### NAME_NONINLINE_SEND_LOSS

          static final java.lang.String NAME_NONINLINE_SEND_LOSS

      The advisory message reports that a non-inline persistence publisher experienced a failure while trying to persist a message.

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

      This advisory is a hint to applications that a non-inline publisher experienced a failure in the background. Applications may wish to call `Publisher.flush` to determine what error occurred. Applications may use the `FIELD_PUBLISHER_LABEL` field to identify the publisher.
      See Also:
        `FIELD_NAME`, `FIELD_PUBLISHER_LABEL`, Constant Field Values

    - #### FIELD_REASON

          static final java.lang.String FIELD_REASON

      Advisory reason (field name).

      The string value of the `reason` field provides additional information about the reason for the advisory (adding detail to the `name` field).

      See Also:
        `REASON_QUEUE_LIMIT_EXCEEDED`, `REASON_TPORT_DATALOSS`, `REASON_SENDER_DISCARD`, `REASON_RECONNECT_LOSS`, `REASON_UPSTREAM_LOSS`, `REASON_STORE_DISCARD_DATALOSS`, `REASON_INCOMPLETE_MESSAGE`, `REASON_FAILOVER_LOSS`, `REASON_DURABLE_SUBSCRIBER_COLLISION`, `REASON_PERSISTENCE_STORE_UNAVAILABLE`, `REASON_PERSISTENCE_STORE_AVAILABLE`, `REASON_PERSISTENCE_STORE_AVAILABLE_AFTER_CLUSTER_DATALOSS`, `REASON_RETRANSMISSION_REQUEST`, `REASON_RETRANSMISSION_SENT`, `REASON_RETRANSMISSION_REQUEST_SUPPRESSED`, Constant Field Values

    - #### REASON_QUEUE_LIMIT_EXCEEDED

          static final java.lang.String REASON_QUEUE_LIMIT_EXCEEDED

      The advisory message reports data loss; the reason is overflow of an event queue.

      The queue has discarded some events, in accordance with its property values.

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

      Common Diagnoses

      - Lengthy processing in callbacks could delay prompt dispatch of the queue.
      - The program could not process the volume of inbound messages from its subscribers.
      - The program is starved for CPU cycles -- its host computer is too heavily loaded.
      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_QUEUE_NAME`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_TPORT_DATALOSS

          static final java.lang.String REASON_TPORT_DATALOSS

      The advisory reports data loss; the reason is a transport problem.

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_SENDER_DISCARD

          static final java.lang.String REASON_SENDER_DISCARD

      The advisory reports data loss; the reason is that a sending transport has discarded data in accordance with its backlog settings.

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_RECONNECT_LOSS

          static final java.lang.String REASON_RECONNECT_LOSS

      The advisory reports potential data loss; the reason is a temporary network disconnect between two connection-oriented transports (that is, TCP or RDMA).

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_FAILOVER_LOSS

          static final java.lang.String REASON_FAILOVER_LOSS

      The advisory reports potential data loss; the reason is failover to a backup forwarding component.

      Only connection-oriented transports can detect this condition.

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_UPSTREAM_LOSS

          static final java.lang.String REASON_UPSTREAM_LOSS

      The advisory reports potential data loss; the reason is a data loss advisory detected upstream at a forwarding component (such as a transport bridge).

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_INCOMPLETE_MESSAGE

          static final java.lang.String REASON_INCOMPLETE_MESSAGE

      The advisory reports data loss; the reason is an incomplete message.

      The transport could not reassemble an inbound message because some data fragments did not arrive.

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_DURABLE_SUBSCRIBER_COLLISION

          static final java.lang.String REASON_DURABLE_SUBSCRIBER_COLLISION

      The advisory reports that a persistence store forced a subscriber to close; the reason is durable subscriber collision.

      Each durable can serve at most one durable subscriber object at a time. The store resolves collisions in favor of the newer durable subscriber, forcing the older subscriber to close.

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

      See Also:
        `NAME_SUBSCRIBER_FORCE_CLOSE`, `FIELD_REASON`, `FIELD_ENDPOINTS`, `FIELD_SUBSCRIBER_NAME`, Constant Field Values

    - #### REASON_PERSISTENCE_STORE_UNAVAILABLE

          static final java.lang.String REASON_PERSISTENCE_STORE_UNAVAILABLE

      The advisory reports resource unavailability; the reason is that a persistence store is not available.

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

      See Also:
        `NAME_RESOURCE_UNAVAILABLE`, `FIELD_REASON`, Constant Field Values

    - #### REASON_PERSISTENCE_STORE_AVAILABLE

          static final java.lang.String REASON_PERSISTENCE_STORE_AVAILABLE

      The advisory reports resource availability; the reason is that a persistence store is available.

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

      See Also:
        `NAME_RESOURCE_AVAILABLE`, `FIELD_REASON`, Constant Field Values

    - #### REASON_PERSISTENCE_STORE_AVAILABLE_AFTER_CLUSTER_DATALOSS

          static final java.lang.String REASON_PERSISTENCE_STORE_AVAILABLE_AFTER_CLUSTER_DATALOSS

      The advisory reports resource availability; the reason is that a persistence store is available but the cluster lost some or all data.

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

      See Also:
        `NAME_RESOURCE_AVAILABLE`, `FIELD_REASON`, Constant Field Values

    - #### REASON_RETRANSMISSION_REQUEST

          static final java.lang.String REASON_RETRANSMISSION_REQUEST

      The advisory reports that the subscribing endpoint of a multicast transport in the application requested retransmission from a publishing endpoint.

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

      See Also:
        `NAME_RETRANSMISSION`, `FIELD_REASON`, `SEVERITY_DEBUG`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_RETRANSMISSION_SENT

          static final java.lang.String REASON_RETRANSMISSION_SENT

      The advisory reports that the publishing endpoint of a multicast transport in the application has sent a retransmission as requested.

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

      See Also:
        `NAME_RETRANSMISSION`, `FIELD_REASON`, `SEVERITY_DEBUG`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_RETRANSMISSION_REQUEST_SUPPRESSED

          static final java.lang.String REASON_RETRANSMISSION_REQUEST_SUPPRESSED

      The advisory reports that the subscribing endpoint of a multicast transport in the application would have requested retransmission, but request was suppressed.

      Suppression can occur when a multicast transport enables retransmission control, and a subscribing endpoint misses packets in excess of a specified threshold.

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

      See Also:
        `NAME_RETRANSMISSION`, `FIELD_REASON`, `SEVERITY_WARN`, `FIELD_ENDPOINTS`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_STORE_DISCARD_DATALOSS

          static final java.lang.String REASON_STORE_DISCARD_DATALOSS

      The advisory reports data loss when a subscriber to a last-value durable has missed one or more messages from the persistence store.

      It can also report potential data loss because the subscriber disconnected from the store.

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

      See Also:
        `NAME_DATALOSS`, `FIELD_REASON`, `SEVERITY_WARN`, `FIELD_ENDPOINTS`, `FIELD_SUBSCRIBER_NAME`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_LOCK_STOLEN

          static final java.lang.String REASON_LOCK_STOLEN

      The advisory reports lock lost notification; the reason is a lock that was previously held by this application was stolen by some other application.

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

      See Also:
        `NAME_LOCK_LOST`, `FIELD_REASON`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### REASON_LOCK_LOST_ON_DISCONNECT

          static final java.lang.String REASON_LOCK_LOST_ON_DISCONNECT

      The advisory reports lock lost notification; the reason is a lock that was previously held by this application was lost because of a disconnect from the persistence store.

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

      See Also:
        `NAME_LOCK_LOST`, `FIELD_REASON`, `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### FIELD_TIMESTAMP

          static final java.lang.String FIELD_TIMESTAMP

      Timestamp (field name).

      The `TibDateTime` value of the `timestamp` field indicates the time that FTL generated the advisory.

      Although DateTime values can represent time with nanosecond precision, the actual resolution of the timestamp is only as fine-grained as the host computer's operating system supports.

      See Also:
        `TibDateTime`, Constant Field Values

    - #### FIELD_AGGREGATION_COUNT

          static final java.lang.String FIELD_AGGREGATION_COUNT

      Aggregation incidents (field name).

      Some advisory messages report aggregate data, representing several incidents that occurred within a time interval. The long integer value of the `aggregation_count` field indicates the number of incidents.

      In `DATALOSS` advisories with reason `QUEUE_LIMIT_EXCEEDED`, this value reports the number of events that the queue discarded.

      See Also:
        `FIELD_AGGREGATION_TIME`, Constant Field Values

    - #### FIELD_AGGREGATION_TIME

          static final java.lang.String FIELD_AGGREGATION_TIME

      Aggregation time interval (field name).

      Some advisory messages report aggregate data, representing several incidents that occurred within a time interval. The double floating point value of the `aggregation_time` field indicates the length of the time interval (in seconds).

      The time interval ends shortly before the timestamp on the advisory message.

      See Also:
        `FIELD_AGGREGATION_COUNT`, Constant Field Values

    - #### FIELD_QUEUE_NAME

          static final java.lang.String FIELD_QUEUE_NAME

      Queue name (field name).

      This field appears in `DATALOSS` advisories with reason `QUEUE_LIMIT_EXCEEDED`.

      The string value of the `queue_name` field identifies the queue that discarded excess events.

      If the queue's `name` property is not set, then the advisory message omits this field.

      See Also:
        `REASON_QUEUE_LIMIT_EXCEEDED`, `PROPERTY_STRING_NAME`, Constant Field Values

    - #### FIELD_ENDPOINTS

          static final java.lang.String FIELD_ENDPOINTS

      Endpoints (field name).

      This field can appear in `DATALOSS`, `SUBSCRIBER_FORCE_CLOSE,` and `RETRAMSMISSION` advisories.

      - In `DATALOSS` advisories, the string array value of the `endpoints` field lists the endpoints that could have lost data.

        Although data loss occurs primarily in a transport, its symptoms could affect all endpoints that use the transport -- and by extension, any subscriber on those endpoints. Furthermore, transport names are meaningful to administrators, but usually not available to programmers. This advisory field reports the set of all endpoints through which the program could access the problematic transport (according to the configuration in the local realm object).

        This field does not appear in `DATALOSS` advisories with reason `QUEUE_LIMIT_EXCEEDED`.

      - In `SUBSCRIBER_FORCE_CLOSE` advisories, the string array value of the `endpoints` field identifies the endpoint of the closed subscriber object.
      - In `RETRANSMISSION` advisories, the string array value of the `endpoints` field identifies the endpoint involved in the retransmission event.
      See Also:
        `NAME_DATALOSS`, `NAME_SUBSCRIBER_FORCE_CLOSE`, `NAME_RETRANSMISSION`, Constant Field Values

    - #### FIELD_SUBSCRIBER_NAME

          static final java.lang.String FIELD_SUBSCRIBER_NAME

      Subscriber name (field name).

      This field can appear in `SUBSCRIBER_FORCE_CLOSE` advisories.

      The string value of the `subscriber_name` field identifies the closed durable subscriber.

      See Also:
        `NAME_SUBSCRIBER_FORCE_CLOSE`, `REASON_DURABLE_SUBSCRIBER_COLLISION`, Constant Field Values

    - #### FIELD_LOCK_NAME

          static final java.lang.String FIELD_LOCK_NAME

      Lock Name (field name).

      This field can appear in `LOCK_LOST` advisories.

      The string value of the `lock_name` field identifies the name of the lock that was stolen by some other application.
      See Also:
        `NAME_LOCK_LOST`, Constant Field Values

    - #### FIELD_PUBLISHER_LABEL

          static final java.lang.String FIELD_PUBLISHER_LABEL

      Publisher label (field name).

      This field can appear in `NONINLINE_SEND_LOSS` advisories.

      The string value of the `publisher_label` field identifies the label of the publisher that discarded a message while trying to persist it in the background.
      See Also:
        `NAME_NONINLINE_SEND_LOSS`, Constant Field Values