Subscription Options Tab

The Subscription Options tab is available only for Subscription Service. You can use the resources in this tab to specify an exceptions table and an opaque exceptions table. The adapter uses the exceptions table to store error messages from database operation failures.

The following table lists and describes the fields in the Subscription Options tab:

Name Description
Subscription Service Base Information Panel
Use Separate Session This feature is used with Subscription Service multithreading. When you select this check box, the Number of Subscription Service Threads field is displayed. After you set a value in this field, the multiple threads can share the same session and dispatcher.
Note: If you want to use multiple threads by configuring a separate session, the transport session name must end with one or more digits from [0-9].
useSerial This field is displayed only if the Use Separate Session check box is selected.

This option is designed to ensure that all messages are processed in order.

Note: The primary key related in the destination table cannot be Null.
Note: If the destination table has no primary key, you have to select the User Key check box instead of the primary key. When processing the application requests, messages are handled in order.
Note: If the destination table has no primary key, and the User Key check box is cleared, it is good practice to clear the useSerial check box.
Number of Subscription Service Threads This field is displayed only if the Use Separate Session check box is selected.

Threads are allocated on demand. The valid values are from 1 through n. The number of threads you set in Subscription Service indicates the number of subscription threads that will connect to the database.

For more information, see Multithreading and Session in Subscription Service.

Subscription Service Option Information Panel
Exceptions Table Name of the exceptions table where data is written if the adapter cannot write to the subscriber table. This table holds messages that caused an exception. If a table does not exist, Subscription Service creates one such table. For details, see "Exceptions Table" in Handling Exceptions.

The exceptions table cannot contain any user-created columns where the column name starts with ADB_. These characters are reserved for use by the adapter.

Note: For the parent-child relationship, this is the parent exceptions table. If you do not set the parent exceptions table, then the child exceptions table is invalid.
Use Opaque Exceptions Table Select this check box to use an opaque exceptions table. The table records each message (entirely) into a column, along with the error message.

A message is logged into the exceptions table if Subscription Service fails to generate records in the destination table or the adapter fails to insert a message into an exception table.

For details, see "Opaque Exceptions Table" in Handling Exceptions.

For DB2/390 databases, you must create a LOB tablespace before using the opaque exceptions table, which uses the LOB tablespace.

Opaque Exceptions Table Name for the opaque exceptions table. For details, see "Opaque Exceptions Table" in Handling Exceptions.
Pre Commit Stored Procedure The value entered here represents the name of a stored procedure the Subscription Service calls after the database insert, update, or delete operation and prior to commit.
Reply Sender Quality of Service If the Subscriber endpoint must send a reply to the sender, this value identifies the quality of service or delivery mode to be used when sending the reply. See "Supported Sessions" in Sessions and Endpoints and Guideline for Configuring the Delivery Mode (JMS Only).
The available options are:
  • Reliable (TIBCO Rendezvous transport type only)
  • Certified (TIBCO Rendezvous transport type only)
  • Persistent (JMS transport type only)
  • Non-persistent (JMS transport type only)
Bulk Insert Size When configured for batch processing, the adapter stores incoming subscription requests in a batch. All incoming messages to be inserted are stored until this size is reached.

Then, a bulk insert operation is performed on the destination table by using a single processing.

This number must be less than or equal to the value in Batch Commit Size. The default value is 1. The batch is emptied when the batch size is reached.

Note: In the parent-child relationship situation, you must note the following:
  • Bulk Insert is valid if you set the group message and only send the data to the parent table.
  • Bulk Insert is invalid if you send the data to the parent table and child table.
  • Increasing Bulk Insert Size cannot significantly improve the Subscription Service performance.
  • If you want to use JDBC driver options to improve the Subscription Service Performance, for better results set the batchPerformanceWorkaround=true property instead of the EnableBulkLoad and BulkLoadBatchSize options.
Batch Commit Size The number of messages to be batched before a commit operation is invoked. The default value is 0.
Note: If you set the default value to 0 in the Batch Commit Size field, the adapter takes the value 1 as the batch commit size when running Subscription Service.
Note: The Batch Commit option is not supported with the RVCMQ Quality of Service. The RVCMQ scheduler requires a message to be confirmed before dispatching the next message, which prevents the adapter from operating in the batch mode.
Batch Commit Timeout (milliseconds) Specifies the longest interval between two batch commits. When the specified timeout expires, Subscription Service commits all received messages even if the number does not reach the Batch Commit Size value. The default value is 10,000 milliseconds.

The batch commit feature does not commit all received messages if the adapter configuration terminates before the batch commit value or time-out value is met.

With RVCMQ enabled, when the batch commit size is greater than 1, batch commit times out after each operation (insert, update, or delete).

Rendezvous Maximum Queue Size Maximum number of messages that can be put in the TIBCO Rendezvous event queue. The default value is 0, which means no limit is placed on the event queue size.

Use this option to prevent the memory of a Subscriber endpoint from overflowing if the Publisher endpoint is too fast.

Note: If the value of this field is set to be smaller than the actual number of messages in the event queue, only the allowable number of messages can be sent and the subsequent messages are lost.
Note: At startup, the Subscription Service dispatchers wait for all components to start before dispatching subscriber messages.