proai.secondsBetweenRequests
For multi-part OAI responses, this specifies the maximum time to wait between requests before cleaning up the session.
proai.incompleteRecordListSize
The maximum number of records to include in each part of a ListRecords response.
proai.incompleteIdentifierListSize
The maximum number of record headers to include in each part of a ListIdentifiers response.
proai.incompleteSetListSize
The maximum number of sets to include in each part of a ListSets response.
proai.driverPollSeconds
How often Proai should poll the driver for updates.
proai.driverPollingEnabled
Set this to false to start the service without polling enabled. Note: You can also change polling behavior while the service is running by executing the following SQL against the database:
UPDATE rcAdmin SET pollingEnabled = 0 (or 1 to enable it)The value configured via this property will always be put into effect when the service is started.
proai.maxWorkers
The maximum number of worker threads to use while retrieving new/updated OAI records from the driver.
proai.maxWorkBatchSize
How many requests each worker thread should make before returning the batch to the database to be committed.
proai.maxFailedRetries
If a request of the driver for a specific record fails for any reason, this is the maximum number of times that record should be automatically retried before giving up on that record. If this is exceeded, the record information will remain in the rcFailure table until it is dealt with manually.
proai.maxCommitQueueSize
The maximum size the in-memory record commit queue is allowed to reach. If this threshold is reached, it means that worker threads are returning results faster than they can be committed to the database by the commit thread. If this occurs, workers will have to wait until more items have been committed before they can add any more to the queue.
proai.maxRecordsPerTransaction
The maximum number of record updates (from the in-memory commit queue) that should be committed to the database at one time.
proai.validateUpdates
Whether to run schema validation during the update process. This defaults to true.
proai.cacheBaseDir
The directory where cache files should be stored. This will be created if it doesn't exist.
proai.sessionBaseDir
Where OAI-PMH session data will be stored when needed. This directory will be created at startup if it doesn't already exist. Each session consists of a series of small data files in a uniquely-named subdirectory beneath this one. They are automatically created and removed as needed.
proai.schemaDir
Where to store schema files if validation is enabled.
proai.db.url
The JDBC connection URL for the database that will be used by the cache.
Embedded McKoi example:
jdbc:mckoi:local://build/test/mckoi/mckoi.conf?create_or_boot=true
Local McKoi example:
jdbc:mckoi://localhost/
Local MySQL example:
jdbc:mysql://localhost/proai?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
Local Oracle example:
jdbc:oracle:thin:@localhost:1521:proai
Local Postgres example:
jdbc:postgresql://localhost/proai
proai.db.driverClassName
The class name of the JDBC driver appropriate for use with the connection url. The appropriate library must be in the classpath.
Mckoi example:
proai.db.driverClassName = com.mckoi.JDBCDriver
MySQL example:
proai.db.driverClassName = com.mysql.jdbc.Driver
Oracle example:
proai.db.driverClassName = oracle.jdbc.driver.OracleDriver
Postgres example:
proai.db.driverClassName = org.postgresql.Driver
proai.db.mySQLResultTrickling
If using MySQL, this indicates whether to stream query results one-at-a-time from the database to conserve memory. If unspecified, this defaults to false.
Background: For large repositories, MySQL's default behavior of reading
all results into memory can cause OutOfMemory
errors in
Proai. If this value is set to true, memory requirements for Proai
will be lower, but query performance will suffer. For more detail,
please see the
Connector-J
Implementation Notes.
proai.db.username
The database user. This user should already exist in the database and must have permission to create, modify, and query tables.
proai.db.password
The password for the database user.
proai.db.maxActive
The maxiumum number of connections from the pool that may be active (leased) at once. If unspecified, this defaults to 8.
proai.db.maxWait
The maximum number of milliseconds to wait for a connection from the pool if none are available. If unspecified, this defaults to -1, which means "indefinite".
proai.db.*
proai.db.* Any other properties defined by the Apache commons-DBCP project can be specified. See the full list (and documentation) at http://jakarta.apache.org/commons/dbcp/configuration.html To use standard DBCP properties, just prefix them with "proai.db." here.
proai.db.connection.*
proai.db.connection.* To use JDBC driver-specific properties (in DBCP, these are called "connectionProperties"), prefix them with "proai.db.connection.".
*.ddlConverter
The Java class responsible for creating the database tables required by Proai's record cache.
The name of the property should be the driverClassName of the JDBC driver you're using, plus ".ddlConverter".
*.backslashIsEscape
Whether the database interprets backslashes in SQL strings as escape characters. This is needed to that Proai can formulate proper queries against the database.
The name of the property should be the driverClassName of the JDBC driver you're using plus ".backslashIsEscape". If unspecified, backslashIsEscape will be assumed true.
proai.driverClassName
The class name of the proai.driver.OAIDriver implementation to use. The appropriate library must be in the classpath.
proai.driver.simple.baseDir
The directory where OAIDriverImpl can find the files it requires.