Publication Parameters

The following table summarizes publisher-level parameters and their properties:

Display Name Tag Name Sample Value Default Value Required

Disable publisher?

disable

1 (yes)

0 (no)

no

Disable statement-level locking?

disable-locking

1 (yes)

0 (no)

no

Publication mode

publication-mode

2 (triggerless)

1 (triggered)

no

Event log table name

log-table

indirect_process

(none)

yes1

Delete processed rows?

delete-from-log

0 (no)

1 (yes)

no

Allow loopback?

allow-loopback

1 (yes)

0 (no)

no

Enable future event processing?

handle-future-events

1 (yes)

0 (no)

no

Startup option

startup-option

 

 

no

Polling Interval (in seconds)

polling-interval

60

10

no2

Time of day

time-of-day

15:30:00

(none)

no2

Post polling statements

post-poll-stmt

DELETE FROM direct.direct_process

(none)

no

Batch size

batch-size

16

1

no

Heartbeat interval (in minutes)

pub-heartbeat-interval

10

0

no

1Required for triggered publication mode.
2These parameters are mutually exclusive.

Publication parameters fall into four major subcategories:


Uncategorized Parameters


Disable Publisher?

The Disable Publisher parameter specifies whether the Publisher channel is disabled. If it is disabled, the Publisher channel does not establish a connection to the target database.

When this parameter is set to Boolean True, the Publisher channel is disabled. When this parameter is set to Boolean False, the Publisher channel is active.

Property Value

Tag Name

disable

Required?

no

Default Value

0 (no)

Legal Values

1, yes, true (yes)
0, no, false (no)


Disable Statement-Level Locking?

This parameter specifies whether database resources should be explicitly locked on this channel before each SQL statement is executed. This parameter is active only if the parameter Enable Statement-Level Locking? is set to Boolean True.

When this parameter is set to Boolean True, database resources are explicitly locked. When this parameter is set to Boolean False, database resources are not explicitly locked.

Property Value

Tag Name

disable-locking

Required?

no

Default Value

0 (no)

Legal Values

1, yes, true (yes)
0, no, false (no)


Publication Mode

The Publication Mode parameter specifies which publication algorithm is used.

When set to 1 (triggered), the Publisher channel polls the event log table for events. When set to 2 (triggerless), the Publisher channel dredges all tables/views in the synchronization schema for changes, and synthesizes events.

The following table lists the properties of this parameter:

Property Value

Tag Name

publication-mode

Required?

no

Default Value

1 (triggered)

Legal Values

1 (triggered)
2 (triggerless)


Triggered Publication Parameters


Event Log Table Name

The Event Log Table Name parameter specifies the name of the event log table where publication events are stored.

The table specified here must conform to the definition of The Event Log Table.

When using Table/View Name , you'll probably need to explicitly schema-qualify this table name. When you use Schema Name, this table name is implicitly schema-qualified with that schema name. If this table is located in a schema other than the implicit schema, it must be schema-qualified.

The following table lists the properties of this parameter:

Property Value

Tag Name

log-table

Required?

no1

Case-Sensitive?

See Undelimited Identifier Case-Sensitivity.

Sample Value

eventlog

Default Value

(none)

1This parameter is required if Publication Mode is set to 1 (triggered publication).


Delete Processed Rows?

The Delete Processed Rows parameter specifies whether processed rows are deleted from the event log table.

When this parameter is set to a Boolean True, processed rows are deleted. When this parameter is set to Boolean False, processed row's status field values are updated.

To mitigate the performance hit caused when processed rows remain in the event log table, we recommend periodically moving the rows into a history table. Do one of the following:

  • Call a clean-up stored procedure via the parameter Post Polling Statements.
  • Place a before-delete trigger on the event log table to intercept delete events executed against the event log table and move deleted rows to a history table before they are deleted from the event log table.

The following table lists the properties of this parameter:

Property Value

Tag Name

delete-from-log

Required?

no

Default Value

0 (no)

Legal Values

1, yes, true (yes)
0, no, false (no)

NOTE:   Setting this parameter to Boolean False degrades publication performance unless processed rows are periodically removed from the event log table by some means.


Allow Loopback?

The Allow Loopback parameter specifies whether events caused by the driver's database user account should be published.

When this parameter is set to Boolean True, loopback events are published. When this parameter is set to Boolean False, loopback events are ignored.

The following table lists the properties of this parameter:

Property Value

Tag Name

allow-loopback

Required?

no

Default Value

0 (no)

Legal Values

1, yes, true (yes)
0, no, false (no)

NOTE:   Setting this parameter to Boolean True might degrade performance because extraneous events might be published.


Enable future event processing?

This parameter specifies whether rows in the event log table are ordered and processed by insertion order (the record_id column) or chronologically (the event_time column).

When this parameter is set to Boolean True, rows in the event log table are published by order of insertion. When this parameter is set to Boolean False, rows in the event log table are published chronologically.

The following table lists the properties of this parameter:

Property Value

Tag Name

handle-future-events

Required?

no

Default Value

0 (no)

Legal Values

1, yes, true (yes)
0, no, false (no)


Triggerless Publication Parameters


Startup Option

The Startup Option parameter specifies what happens when a triggerless Publisher starts.

Setting Result

1

All past and present changes are published.

2

Past and present changes are ignored.

3

All objects are assumed to have changed and are republished.

The following table lists the properties of this parameter:

Property Value

Tag Name

startup-option

Required?

no

Default Value

1 (process all changes)

Legal Values

1 (process all changes)
2 (process future changes only)
3 (resync all objects)


Polling Parameters


Polling Interval (In Seconds)

The Polling Interval (In Seconds) parameter specifies how many seconds of inactivity elapse between polling cycles.

The following table lists the properties of this parameter:

Property Value

Tag Name

polling-interval

Required?

no

Default Value

10 (seconds)

Legal Values

1-604800 (1 week)

NOTE:  We recommend setting this value to no less than 10 seconds.


Publication Time of Day

The Publication Time of Day parameter specifies at what time, each day, publication begins. Time is understood to mean server local time (the time on the server where the driver is running).

The following table lists the properties of this parameter:

Property Value

Tag Name

time-of-day

Required?

no

Sample Value

13:00:00 (1PM)

Default Value

(none)

Legal Values

hh:mm:ss (h = hour, m = minute, s = second)

NOTE:  This parameter overrides the parameter Polling Interval (In Seconds). See Polling Interval (In Seconds).


Post Polling Statements

The Post Polling Statements parameter specifies the SQL statements that are executed at the end of each active polling cycle. An active polling cycle is one where some publication activity has occurred.

The primary purpose of this parameter is to allow cleanup of the event log table following publication activity.

You'll probably need to explicitly schema-qualify any database objects (for example, tables, stored procedures, and functions) referenced in these statements.

The following table lists the properties of this parameter:

Property Value

Tag Name

post-poll-stmt

Required?

no

Case-Sensitive?

See Undelimited Identifier Case-Sensitivity.

Delimiters

semicolon

Sample Value

DELETE FROM direct.direct_process

Default Value

(none)

Legal Values

(any set of legal SQL statements)


Batch Size

The Batch Size parameter specifies how many events are sent in a single publication document.

Basically, the larger the batch, the better the performance.

  • Larger batches necessitate fewer trips across the network in both directions.
  • More events in a single document require fewer trips from the Publisher channel to the Identity Manager engine (assuming that query-back events are not being used).
  • Larger batches minimize the number of trips from the Publisher channel to the database (assuming that the third-party JDBC driver and database support batch processing).
  • Larger batches require fewer commits to state files in the local file system.

    Commits can also be costly.

This parameter defines an upper bound. The Publisher channel might override the specified value under certain conditions. The upper bound of 128 was chosen to minimize the likelihood of overflowing the Java heap and to mitigate delaying termination of the Publisher thread on driver shutdown.

The following table lists the properties of this parameter:

Property Value

Tag Name

batch-size

Required?

no

Default Value

1

Legal Values

1 to 128


Heartbeat Interval (In Minutes)

The Heartbeat Interval (In Minutes) parameter specifies how many minutes the Publisher channel can be inactive before it sends a heartbeat document. In practice, more than the number of minutes specified can elapse. That is, this parameter defines a lower bound. The Publisher channel sends a heartbeat document only if the Publisher channel has been inactive for the specified number of minutes. Any publication document sent is, in effect, a heartbeat document.

The following table lists the properties of this parameter:

Property Value

Tag Name

pub-heartbeat-interval

Required?

no

Default Value

0

Legal Values

0 to 2,147,483,647 (java.lang.Integer.MAX_VALUE)