Subject and Destination Names

An adapter configuration uses a subject name or destination name to send and receive messages. When you enable the TIBCO Rendezvous transport type, the adapter configuration uses a subject name to transmit messages; when you enable the JMS transport type, the adapter configuration uses a destination name to transmit messages.

Both subject and destination names are structured strings of alphanumeric characters that are divided into elements by the dot delimiter (.). For example, Tibco.Tsi and News.Sports.Baseball are valid subject and destination names.

TIBCO Business Studio provides the default subject name and destination name. You can change these default values to specify a custom subject name or destination name. A default subject or destination name, depending on the configured transport type, is created each time an adapter service is created.

The following are limitations of subject names and destination names:

  • Length of subject names and destination names:
    • Subject names are limited to a total length of 255 characters (including the dot delimiters). Even though TIBCO Rendezvous has a 255-character subject length limit, applications do not have to use the full length. If you want to run an adapter configuration with the Microsoft SQL server used, you must design your subject space to conform to the length limitation. A subject name contains at most 100 elements. The maximum element length is 127 characters.
    • Destination names are limited to a total length of 249 characters. Even though JMS has a 249-character destination length limit, some of that length is reserved for internal use. You must design your destination name to conform to the length limitation. A destination name contains at most 64 elements. The maximum element length is 127 characters. Dot delimiters are not included in an element length.
  • Wildcard characters:

    The asterisk (*) and greater than (>) are wildcard characters that can be used when you specify subject names or destination names.

    For example, if messages are published on the tsi.sales.sports and tsi.sales.clothing subjects and your subscriber adapter listens on the tsi.sales.* subject, the adapter configuration receives messages sent on both subjects. This feature also applies to destination names.

  • Reserved underscore (_):

    Subject names or destination names beginning with underscores (_) are reserved. Application programs cannot send subjects or destinations with an underscore as the first character of the first element, however, _INBOX is an exception for subject names, and _INBOX is an exception for destination names.

    Do not use tabs, spaces, or any unprintable characters. An underscore (_) can be used elsewhere in subject names or destination names. Subject names are case sensitive.

  • Empty strings: Do not use empty strings ("") in subject names or destination names.
  • Dot character: A dot character cannot be incorporated into an element by using an escape sequence.

For a full explanation of subject names, see TIBCO Rendezvous Concepts; for a full explanation of destination names, see TIBCO Enterprise Message Service User’s Guide.

Parameterized Subject and Destination Names

A subject name or destination name can be created from one or more columns in a publishing table. When you enable the TIBCO Rendezvous transport type, a subject name is created in the publishing table; when you enable the JMS transport type, a destination name is created in the publishing table. A subject or destination created in this way is known as a parameterized subject or destination.

For example, you can use TIBCO Business Studio to define a publication subject as MYSUBJECT.$COLUMN1.$COLUMN2, where COLUMN1 and COLUMN2 are names of columns in the publishing table. For example: TIBCO.ORDER.$ORDER_ID.$ORDER_DESCRIPTION.

On publication, a subject or destination is created from the contents of those columns so that receiving applications can filter publications based on the values of certain fields. Parameterized subject or destination names are supported with certified or reliable delivery.

The following are limitations of parameterized subject names and destination names:
  • Length of parameterized subject and destination names:
    • A TIBCO Rendezvous parameterized subject name can be at most 255 characters in length, with each component no more than 127 characters.
    • A JMS parameterized destination name can be at most 249 characters in length, with each component no more than 127 characters.

    In the previous example, if the ORDER_DESCRIPTION column contains a description value that is longer than 127 characters, the parameter name $ORDER_DESCRIPTION is used as the subject or destination in place of the description value.

  • Wildcard characters: Do not use the asterisk (*) or greater than (>) characters, or empty strings as attribute values (VARCHAR, CHAR) in a column that is part of a parameterized subject or destination. Doing so makes the subject or destination invalid.

    For example, if the TIBCO.ORDER.$ORDER_ID.$ORDER_DESCRIPTION parameterized subject or destination name is defined and the following values are inserted into the ORDER_TABLE table:

    insert into ORDER_TABLE values(111,'*',88.81);

    and the following values are inserted into the ORDER_DESCRIPTION table:

    insert into ORDER_DESCRIPTION TABLE values(112,'>',99.91);

    the publisher returns an error.

  • Data type restrictions:
    • Do not use columns that contain the Date types as part of a parameterized subject or destination. Date values are likely to contain characters, such as dashes and spaces that cause problems when the data values are used as part of a subject or destination.
    • Do not use columns that contain the Binary types as part of a parameterized subject or destination.
    • Do not insert Float-type data as an attribute value into a column that is part of a parameterized subject or destination. Doing so makes the subject or destination invalid.
  • Column name: Each element cannot represent more than one column. For example, MYSUBJECT.$COLUMN1$COLUMN2 is an invalid parameterized subject name.
  • Group messaging: The group messaging feature does not support parameterized subjects or destinations. An error message will be displayed, and the adapter will automatically disable the group messaging feature for the publisher. For example, if the TIBCO Rendezvous transport type is used, the following error message will be displayed:

    Cannot use parameterized subject with group Publishing. Disable group publishing.

  • Preregistration: Preregistration in the adapter does not work when a parameterized subject or destination is used.