Open topic with navigation

TIBCO BusinessEvents® Enterprise Edition 6.3.1

# Destination Resource Reference

Within each channel, destinations direct the incoming and outgoing information. A channel resource is not ready for use until it has at least one destination.

Destinations of each channel have some common properties and configuration properties specific to the channel type. The following sections provide information about these configuration properties:

- Destination Resource Common Properties
- HTTP Destination Configuration Properties
- ActiveSpaces Destination Configuration Properties
- TIBCO FTL Destination Configuration Properties
- JMS Destination Configuration Properties
- Kafka Destination Configuration Properties
- Pulsar Destination Configuration Properties
- Local Destination Configuration Properties

## Destination Resource Common Properties

The Destinations section of a channel has the following fields.

Destination Resource Common Properties
Field | Global Variable | Description
--- | --- | ---
Name | No | The name to appear as the label for the resource. Names follow Java variable naming restrictions. Do not use any reserved words.
Description | No | Short description of the resource.
Default Event | No | The event is to be created from incoming messages unless otherwise specified. For convenience, you can open the selected event resource by clicking the underlined label. This field is optional if you specify an event type in the incoming message. The property is not used for the local channel.
Serializer/Deserializer | No | Specify a serializer class to convert messages to simple events and simple events to messages.
Include Event Type | Yes | (Only for HTTP, JMS, and Kafka channels) Specifies when to suppress the original behavior of including `_ns_` and `_nm_` fields during serialization and deserialization. For more details on `_ns_` and `_nm_` fields, see Mapping Incoming Messages to Non-default Events. The values are: When Serializing and Deserializing: always include `_ns_` and `_nm_` fields. Only when Serializing: for outgoing JMS messages, `_ns_` and `_nm_` fields are set in the JMS message headers. For incoming JMS messages, `_ns_` and `_nm_` fields are ignored. Only when Deserializing: the `_ns_` and `_nm_` fields are suppressed in the outgoing message but are used in incoming messages. Never: the `_ns_` and `_nm_` fields are suppressed in incoming as well as outgoing messages.

## HTTP Destination Configuration Properties

HTTP Destinations Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Reply Event | No | Optional. Defines a representative response event
Is JSON Payload | No | Specifies whether the payload is JSON
Type | No | Specifies the type of the HTTP destination. The following are the values of the Type field: Default - Specify the Default Event and Serializer/Deserializer fields for the destination. PageFlow - Enables Action Rule Function based approach. If selected, the system disables the Default Event and Serializer/Deserializer fields for input. WebSocket - If the selected, the destination uses the WebSocket protocol and the com.tibco.cep.driver.http.serializer.WebSocketMessageSerializer is selected for the Serializer/Deserializer field.
Context Path | No | Context URI for the web application. The field is active for input if the value of the Type field is PageFlow.
Action Rule Function | No | The Action Rule function to be run when an HTTP message arrives at the context URI for the web application. The field is active for input if the value of the Type field is PageFlow.

## ActiveSpaces Destination Configuration Properties

ActiveSpaces Channel Destination Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Table Name | Yes | The name of the table to which the ActiveSpaces channel connects.
Filter | Yes | String specified to evaluate rows and refine the set of rows to work. A filter string can be seen as what would follow the where clause in a `select * from where` statement. See Filters for more information.
Consumption Mode | No | Specifies the consumption mode for the ActiveSpaces event as one of: Event Listener - listens for specific events to occur, and invokes a callback function from TIBCO ActiveSpaces.
PutEvent | No | When selected, the Event Listener listens for any Put events on the table and invokes a callback function when such an event occurs.
DeleteEvent | No | When selected, the Event Listener listens for any Delete events on the table and invokes a callback function when such an event occurs
ExpireEvent | No | When selected, the Event Listener listens for any Expire events on the table and invokes a callback function when such an event occurs.

## TIBCO FTL Destination Configuration Properties

TIBCO FTL Destinations Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Application Name | Yes | The name of the application that communicates using TIBCO FTL software.
Endpoint Name | Yes | Name of endpoint for the application.
Instance Name | Yes | Name of the application instance. The default value is default.
Format Name | Yes | The format name is defined in the TIBCO FTL software.
Content Matcher | No | The query clause to filter messages. The syntax of the query is as follows:
    {"FIELD_NAME1" : FIELD_VALUE1, "FIELD_NAME2" : FIELD_VALUE2 }
Durable Name | Yes | Durable name of the FTL subscriber

## JMS Destination Configuration Properties

See TIBCO Enterprise Message Service documentation for more details on these settings.

JMS Destinations Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Is JSON Payload | No | Specifies whether the payload is JSON
Queue | Yes | Specifies whether the destination is a queue or a topic. Select the checkbox if the destination is a queue. If the destination is a topic, do not select it.
Name | Yes | Required. The name of the queue or topic. TIBCO BusinessEvents ignores JMS destinations with null or empty-string queue or topic names. It logs an error message for the ignored destinations. If a JMS message is sent out through an ignored destination, TIBCO BusinessEvents generates an exception, and the message is not sent out. TIBCO BusinessEvents also does not receive JMS messages (events) through these ignored destinations.
Selector | Yes | Specifies a filter to pick up messages from the destination. This is a standard JMS selector based on SQL92 semantics.
DeliveryMode | No | The delivery mode property instructs the server concerning persistent storage for the message. Select one of the following: PERSISTENT (default)—In JMS message headers this is represented by the code 2. NON-PERSISTENT — In JMS message headers this is represented by the code 1. RELIABLE — This value is an extension to the standard used in the TIBCO Enterprise Message Service. In message headers, this is represented by the code 22. You can also set a delivery mode in an event.
AckMode | Yes | The acknowledgment mode. See JMS Message Acknowledgement Modes for more details about the various modes. The default value is `EXPLICIT_CLIENT_ACKNOWLEDGE`.
Priority | No | The message is priority. Takes a numerical value between 0 and 9. Larger numbers represent a higher priority. You can also set a priority in an event. The default value is 4.
TTL | Yes | The length of time that the message lives (in milliseconds) before expiration. If set to 0, the message does not expire. You can also set a TTL (`JMSExpiration`) in an event. The default value is 0.
DurableSubscriberName | Yes | For destinations that are JMS Topics, if you provide a DurableSubscriber Name, the destination becomes a JMS durable topic subscriber with the specified name. If you do not provide a value, the destination becomes a non-durable topic subscriber. The value of this property can be any unique string and can include any global variables. TIBCO BusinessEvents provides a set of case-sensitive variables that produce a unique DurableSubscriberName string. The default value is: `%%EngineName%%:%%SessionName%%:%%ChannelURI%%:%%DestinationName%%`.
SharedSubscriptionName | Yes | Specify the shared subscription name for the consumers. Among the consumers having the same SharedSubscriptionName only one receive the message. Thus, an application can have multiple consumers performing a job, and these consumers can share the subscription without each one receiving the same copy of the message. The shareable and durable nature of a subscription can be used in different combinations. The following are the possible combinations: non-shared and non-durable subscription - The subscription can have only one consumer and messages sent during the offline time are lost. non-shared and durable subscription - The subscription can have only one consumer and can receive the messages that were sent when it was offline. shared and non-durable subscription - The subscription can have many consumers and if they all went offline, the messages sent during the offline time are lost. shared and durable subscription - The subscription can have many consumers. If all of them are offline, then the messages during the offline time are received by one of the consumers that comes online.

## Kafka Destination Configuration Properties

Kafka Channel Destination Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Topic Name | Yes | Name of the Kafka topic.
Schema Registry Platform | Yes | Select the Schema Registry that you want to connect to. You can use the Confluent Schema Registry or the TIBCO Schema Registry. In the Serializer/Deserializer field, to use the schema registry, you must select the KafkaAvroSerializer for Avro messages and KafkaProtobufSerializer for Protobuf messages. See Confluent documentation for more information about the concepts and installation of the Confluent Schema Registry. See TIBCO® Messaging - Schema Repository for Apache Kafka - Enterprise Edition documentation for more information about the concepts and installation of the TIBCO Schema Registry.
Schema Registry URL | Yes | The REST API URL of the schema registry. The URL must be in the following format: `http://<hostname>:<port>`
Schema Subject | Yes | Subject name of Schema Registry. See Subject Naming Strategies for more information about subject name strategies.
Schema Registry Authentication | Yes | Authentication method for the Schema Registry: Basic Auth: This authentication method uses a valid username and password to establish a secure communication with the schema registry. One-Way SSL: Establishes an encrypted connection to the schema registry using a truststore file and truststore password. Mutual Auth: Establishes an encrypted connection to the schema registry using truststore file, truststore password, keystore file, and keystore password. No Auth Click Configure Auth to configure authentication properties for the Schema Registry. See Kafka Schema Registry Security Configuration Properties for more information about authentication properties. Note: For TIBCO Schema registry, One Way SSL and No Authentication are only supported.
Update Schema in Schema Registry | Yes | If this checkbox is selected, TIBCO BusinessEvents creates the schema by using event properties and payload associated with the destination and registers it as per the subject name strategy. If there are any changes in event properties or concepts, you can select this checkbox to update the schema in the schema registry.
Schema | No | Specify the schema to be registered in the Schema Registry. Supports both Avro and Protobuf schema.
Group ID | Yes | A unique ID that identifies the consumer group that this consumer belongs to. Assign the same Group ID to the consumers that you need to logically group in the same consumer group.
Client ID | Yes | A unique ID for the consumer to identify the source of the request. If not specified, BusinessEvents auto generates a unique Client ID. The best practice is to leave it blank, so that BusinessEvents generates the unique ID automatically.
Consumer Threads | Yes | Number of Kafka consumer threads that BusinessEvents creates for the destination. You need to define multiple partitions for the Kafka topic so that each consumer thread is able to load messages. One partition can be assigned to one consumer thread at a time. To add more partitions to the topic, use a `kafka-topics` script.
    kafka-topics.sh --zookeeper <zk_host:port> --age --topic <your_topic_name> --partitions <new_partition_count>
Heartbeat Interval (msec) | Yes | Specifies the time interval in milliseconds in which the destination sends heartbeat messages to the broker. Heartbeats are used to ensure that the worker's session stays active and to facilitate rebalancing when new members join or leave the group. The value must be set lower than Session Timeout. The best practice is to set it to one-third or lower of the Session Timeout value.
Session Timeout (msec) | Yes | Specifies the time interval in milliseconds, which is used to detect worker failures. The worker sends the heartbeat messages in Heartbeat Interval to indicate their liveliness to the broker. If no heartbeat messages are received by the broker before the expiration of the Session Timeout, then the broker removes the worker from the group and initiates a rebalance.
Enable AutoCommit | Yes | Specifies if the offsets are auto committed or not. If selected (default), the consumer's offset is committed automatically in the time interval specified in AutoCommit Interval. If cleared, the message is acknowledged when the RTC cycle completes or when `Event.consumeEvent` is called. This works only with the "Caller's Thread" threading model type. When Cache is enabled, the Event is acknowledged after the RTC cycle completes. By default, `enableParallelOps` is enabled so that the Event is committed in a separate thread. Because of this, the worker thread loads and processes the same Event a second time. To avoid that the message is processed twice, acknowledge the Event in a Rule or RuleFunction with `Event.acknowledgeEvent(<event>)`. Alternatively, Disable parallelOps for the InferenceAgent. To disable it, add the following property in the CDD file: Property: `Agent.inference-class.enableParallelOps` Value: false
AutoCommit Interval (msec) | Yes | When Enable AutoCommit is checked, this field identifies the frequency in milliseconds that the consumer offsets are auto-acknowledged to Kafka.
Sync Sender | Yes | When checked, BusinessEvents waits for the message to be actually sent, instead of relying on the Kafka client library to send it asynchronously and assuming sent.
Sync Sender Max Wait (msec) | Yes | When Sync Sender is checked, this field identifies the maximum duration in milliseconds to wait for a send call to complete. If the client fails to send a message within this limit, an exception occurs and sendEvent() returns NULL.
Max Poll Interval(msec) | Yes | Specifies the maximum delay in milliseconds before invoking the poll(). If poll() is not called before expiration of this timeout, then the consumer is considered failed.
Include Kafka Header | Yes | If the checkbox is selected, then the event property is included in the Kafka Header and not consumed as a Kafka message. If the checkbox is not selected, then the event property is not included in the Kafka Header and is consumed as a Kafka message. Note: When you add a property into the Kafka header, convert an Object to Byte array. Similarly, when extracting a property from Kafka header, convert from Byte array to an Object.
Compression Type | Yes | Specifies the compression type for messages being sent for the destination. The valid values are: GZIP Snappy LZ4 ZSTD None (default)
Send Message Key (RuleFunction) | Yes | This determines the Kafka partition to which the message is routed. Messages with the same keys are routed to the same partitions. Browse and select the RuleFunction that is used to compute the keys for the messages that are sent using this destination. The RuleFunction must have the expected Event in scope as the only parameter, and return a String value for the message key. When a RuleFunction URI is not specified, BusinessEvents sends a message without a key. In such a case, the message is routed to a partition as determined by Kafka.

## Kafka Schema Registry Security Configuration Properties

When you select a Schema Registry Authentication method and click Configure Auth, the following fields are displayed.

Field | Global Variable | Description
--- | --- | ---
FTL Realm Server | Yes | TIBCO FTL server URL. This field is enabled only for the TIBCO Schema registry.
FTL Username | Yes | Username to access TIBCO FTL server.
FTL Password | Yes | Password to access TIBCO FTL server.
Trusted Certificate File | No | Absolute path and file name of the SSL truststore file that contains the SSL certificate to connect to the schema registry.
Identity | No | Path and file name of the identity store.
Trust Store Password | Yes | Password for the truststore.

## Pulsar Destination Configuration Properties

Field | Global Variable | Description
--- | --- | ---
Topic Name | Yes | Name of the Pulsar topic.
Client ID | Yes | The client id to be used while subscribing to the Pulsar topic
Subscription Initial Position | Yes | The initial position of subscription. Select Latest to receive the messages that have been published after the subscriber has been connected. Select Earliest to receive all the stored and new messages. Earliest: Latest Default: Earliest
Subscription Type | Yes | Specifies the type of Subscription. Exclusive: In Exclusive mode, only a single consumer is allowed to attach to the subscription. An error occurs if multiple consumers subscribe to a topic by using the same subscription. Shared (default): In Shared mode, multiple consumers can attach to the same subscription. Messages are delivered in a round robin distribution across consumers, and any given message is delivered to only one consumer. Failover: In Failover mode, multiple consumers can attach to the same subscription. When the master consumer disconnects, all (non-acknowledged and subsequent) messages are delivered to the next consumer in line. Key_Shared: In KeyShared mode, multiple consumers can attach to the same subscription. Messages are delivered in a distribution across consumers. Messages with the same key or the same ordering key are delivered to only one consumer.
Is Source Cassandra | Yes | Set this checkbox to true when you want to use Cassandra as a channel and want to receive events from Cassandra.
Sync Sender | Yes | When checked, BusinessEvents waits for the message to be actually sent, instead of relying on the Pulsar client library to send it asynchronously and assuming sent. Default: False
Compression Type | Yes | Specifies the compression type for messages being sent using the particular destination. Valid values are None, LZ4, ZLIB, ZSTD, Snappy. Default: None (no compression)
Schema | No | Specify the schema to be registered in the Schema Registry. Only the Avro schema type is supported.
PulsarWebServiceURL |  | Specify the Pulsar web service URL for your broker cluster.
Update Schema in Schema Registry | Yes | If there are any changes in event properties or concepts, you can select this checkbox to update the schema in the schema registry.
Send Message Key (RuleFunction) | Yes | This determines the Pulsar partition to which the message is routed. Messages with the same keys are routed to the same partitions. Select the RuleFunction that is used to compute the keys for the messages that are sent using this destination. The RuleFunction must have the expected Event in scope as the only parameter, and return a String value for the message key. When a RuleFunction URI is not specified, BusinessEvents sends a message without the key. In this case, the message is routed to a partition as determined by Pulsar.

## Local Destination Configuration Properties

Local destinations do not use serializers, deserializers, or default events.

Local Destinations Configuration Properties
Field | Global Variable | Description
--- | --- | ---
Size | No | The maximum number of events to be held in the queue. The default is zero (0), which allows unlimited events in the queue.
TimeOut | No | Time to wait when sending an event to this local destination. The values are: `-1` (Default) - Waits indefinitely `0` - Does not wait `>0` - Waits for the specified number of milliseconds

Did you find this helpful?

YesNo
Great!
Thanks for taking the time to give us some feedback.
Sorry about that

Why wasn't this helpful? (check all that apply)

Could not find what I was looking for
Instructions confusing or unclear
Instructions did not work

Want to tell us more?

Please select at least one option or provide details about the issue!!

Error occurred while submitting feedback.

Error2 occurred while submitting feedback.

TIBCO BusinessEvents® Enterprise Edition

Copyright © 2004-2024. Cloud Software Group, Inc. All Rights Reserved.