21.4.4 How To Configure a DataReader for Durable Reader State
To configure durable reader state, use the storage_settings (DDS Extension) field in the 47.9 DURABILITY QosPolicy associated with the DataReader.
Note: Except for dds.data_reader.state.persistence_service.request_depth, the properties in Table 21.2 Durable Reader State Properties are deprecated. Although they are still available for use, you should use the fields in the 47.9 DURABILITY QosPolicy instead to configure the durable reader state. The deprecated properties below may be removed in a future release.
A property defined in the DomainParticipant will be applicable to all the DataReaders contained in the participant unless it is overwritten by the DataReaders. Table 21.2 Durable Reader State Properties lists the properties.
Property |
Description |
dds.data_reader.state.odbc.dsn (DEPRECATED) |
Required. The ODBC DSN (Data Source Name) associated with the database where the DataReader state must be persisted. |
dds.data_reader.state. |
To enable durable reader state, this property must be set to 1. When set to 0, the reader state is not maintained and Connext does not filter duplicate samples that may be coming from the same virtual writer. Default: 1 |
dds.data_reader.state.odbc.driver (DEPRECATED) |
This property indicates which ODBC driver to load. If the property is not specified, Connext will try to use the standard ODBC driver manager library (UnixOdbc on Linux systems, the Windows ODBC driver manager on Windows systems). |
dds.data_reader.state.odbc.username (DEPRECATED) |
These two properties configure the username and password used to connect to the database. Default: No password or username |
dds.data_reader.state.odbc.password (DEPRECATED) |
|
dds.data_ |
See the restore field in the 47.9 DURABILITY QosPolicy instead. |
dds.data_reader.state. |
See the reader_checkpoint_frequency field in the 47.9 DURABILITY QosPolicy instead. |
dds.data_reader.state.persistence_ |
This property indicates how many of the most recent historical samples the persisted DataReader wants to receive upon start-up. Default: 0 |
/* Get default QoS */
... retcode = DDSPropertyQosPolicyHelper::add_property( readerQos.property, "dds.data_reader.state.odbc.dsn", "<user DSN>", DDS_BOOLEAN_FALSE); if (retcode != DDS_RETCODE_OK) { /* Report error */ } retcode = DDSPropertyQosPolicyHelper::add_property(readerQos.property, "dds.data_reader.state.odbc.driver", "<ODBC library>", DDS_BOOLEAN_FALSE); if (retcode != DDS_RETCODE_OK) { /* Report error */ } retcode = DDSPropertyQosPolicyHelper::add_property(readerQos.property, "dds.data_reader.state.restore", "<0|1>", DDS_BOOLEAN_FALSE); if (retcode != DDS_RETCODE_OK) { /* Report error */ } /* Create Data Reader */ ...