Kodo JDO defines many properties of its own. Most of these properties are provided for advanced users who wish to customize Kodo JDO's behavior; the majority of developers can omit them. A complete alphabetical listing of Kodo JDO-specific properties is given below.
Property name: kodo.AggregateListeners
Configuration API: kodo.conf.JDOConfiguration.getAggregateListeners
Resource adaptor config-property: AggregateListeners
Default:-
Description: A comma-separated list of full plugin strings (see Section 2.4, “Plugin Configuration”) for custom kodo.query.AggregateListeners to make available to all queries, in addition to the standard set of listeners. See Section 10.8.1, “Query Aggregates” for details on aggregates.
Property name: kodo.ClassResolver
Configuration API: kodo.conf.JDOConfiguration.getClassResolver
Resource adaptor config-property: ClassResolver
Default: spec
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.util.ClassResolver implementation to use for class name resolution. The default value spec is an alias for the kodo.util.SpecClassResolver. This resolver is compliant with the JDO 1.0.1 specification, but you may wish to plug in your own implementations if you have special classloading needs
Property name: kodo.ConnectionProperties
Configuration API: kodo.conf.JDOConfiguration.getConnectionProperties
Resource adaptor config-property: ConnectionProperties
Default: -
Description: A plugin string (see Section 2.4, “Plugin Configuration”) listing properties to configure the driver listed in the ConnectionDriverName property described in Section 2.5.2, “javax.jdo.option.ConnectionDriverName”. See Chapter 4, JDBC for details.
Property name: kodo.ConnectionFactoryProperties
Configuration API: kodo.conf.JDOConfiguration.getConnectionFactoryProperties
Resource adaptor config-property: ConnectionFactoryProperties
Default: -
Description: A plugin string (see Section 2.4, “Plugin Configuration”) listing properties for configuration of the javax.sql.DataSource in use. See the Chapter 4, JDBC for details.
Property name: kodo.Connection2DriverName
Configuration API: kodo.conf.JDOConfiguration.getConnection2DriverName
Resource adaptor config-property: Connection2DriverName
Default: -
Description: This property is equivalent to the javax.jdo.option.ConnectionDriverName property described in Section 2.5.2, “javax.jdo.option.ConnectionDriverName”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.Connection2Password
Configuration API: kodo.conf.JDOConfiguration.getConnection2Password
Resource adaptor config-property: Connection2Password
Default: -
Description: This property is equivalent to the javax.jdo.option.ConnectionPassword property described in Section 2.5.5, “javax.jdo.option.ConnectionPassword”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.Connection2URL
Configuration API: kodo.conf.JDOConfiguration.getConnection2URL
Resource adaptor config-property: Connection2URL
Default: -
Description: This property is equivalent to the javax.jdo.option.ConnectionURL property described in Section 2.5.6, “javax.jdo.option.ConnectionURL”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.Connection2UserName
Configuration API: kodo.conf.JDOConfiguration.getConnection2UserName
Resource adaptor config-property: Connection2UserName
Default: -
Description: This property is equivalent to the javax.jdo.option.ConnectionUserName property described in Section 2.5.7, “javax.jdo.option.ConnectionUserName”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.Connection2Properties
Configuration API: kodo.conf.JDOConfiguration.getConnection2Properties
Resource adaptor config-property: Connection2Properties
Default: -
Description: This property is equivalent to the kodo.ConnectionProperties property described in Section 2.6.3, “kodo.ConnectionProperties”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.ConnectionFactory2Properties
Configuration API: kodo.conf.JDOConfiguration.getConnectionFactory2Properties
Resource adaptor config-property: ConnectionFactory2Properties
Default: -
Description: This property is equivalent to the kodo.ConnectionFactoryProperties property described in Section 2.6.4, “kodo.ConnectionFactoryProperties”, but relates to the alternate connection factory used for non-XA connections. See Section 13.2, “XA Transactions” on XA Transactions for details.
Property name: kodo.ConnectionRetainMode
Configuration API: kodo.conf.JDOConfiguration.getConnectionRetainMode
Resource adaptor config-property: ConnectionRetainMode
Default: on-demand
Description: Controls how Kodo uses data store connections. This property can also be specified for individual persistence managers. See Section 4.8, “Configuring the Use of JDBC Connections” for details.
Property name: kodo.CopyObjectIds
Configuration API: kodo.conf.JDOConfiguration.getCopyObjectIds
Resource adaptor config-property: CopyObjectIds
Default: false
Description: Whether to copy object id values before returning them to your code from the JDOHelper or PersistenceManager. If you ever change object id values you obtain from Kodo, you should set this property to true.
Property name: kodo.DataCache
Configuration API: kodo.conf.JDOConfiguration.getDataCache
Resource adaptor config-property: DataCache
Default: false
Description: A plugin list string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.DataCache to use for data caching. See Section 14.3.2, “Kodo JDO Cache Usage” for details.
Property name: kodo.DataCacheTimeout
Configuration API: kodo.conf.JDOConfiguration.getDataCacheTimeout
Resource adaptor config-property: DataCacheTimeout
Default: -1
Description: The number of milliseconds that data in the data cache is valid. Set this to -1 to indicate that data should not expire from the cache. This property can also be specified for individual classes. See Section 14.3.2, “Kodo JDO Cache Usage” for details.
Property name: kodo.EagerFetchMode
Configuration API: kodo.conf.JDOConfiguration.getEagerFetchMode
Resource adaptor config-property: EagerFetchMode
Default: multiple
Description: Optimizes how Kodo loads persistent relations. This property can also be specified on individual persistence manager, query, and extent instances. See Section 14.2, “Eager Fetching” for details.
Property name: kodo.FetchBatchSize
Configuration API: kodo.conf.JDOConfiguration.getFetchBatchSize
Resource adaptor config-property: FetchBatchSize
Default: -1
Description: The number of rows to fetch at once when scrolling through a result set. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.
Property name: kodo.FetchGroups
Configuration API: kodo.conf.JDOConfiguration.getFetchGroups
Resource adaptor config-property: FetchGroups
Default: -
Description: A comma-separated list of fetch group names that are to be loaded when loading objects from the data store. This property can also be set on individual persistence manager, query, and extent instances. See Section 14.5, “Fetch Groups” for details.
Property name: kodo.FilterListeners
Configuration API: kodo.conf.JDOConfiguration.getFilterListeners
Resource adaptor config-property: FilterListeners
Default: -
Description: A comma-separated list of full plugin strings (see Section 2.4, “Plugin Configuration”) for custom kodo.jdbc.query.JDBCFilterListeners to make available to all queries, in addition to the standard set of listeners. You can also add filter listeners to individual Kodo JDO query instances. See Section 10.7, “Query Extensions” for details.
Property name: kodo.FlushBeforeQueries
Configuration API: kodo.conf.JDOConfiguration.getFlushBeforeQueries
Resource adaptor config-property: FlushBeforeQueries
Default: with-connection
Description: Whether or not to flush any changes made in the current transaction to the data store before executing a query. See Section 4.8, “Configuring the Use of JDBC Connections” for details.
Property name: kodo.LicenseKey
Configuration API: kodo.conf.JDOConfiguration.getLicenseKey
Resource adaptor config-property: LicenseKey
Default: -
Description: The license key provided to you by SolarMetric. Keys are available at www.solarmetric.com.
Property name: kodo.ManagedRuntime
Configuration API: kodo.conf.JDOConfiguration.getManagedRuntime
Resource adaptor config-property: ManagedRuntime
Default: auto
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.ee.ManagedRuntime implementation to use for obtaining a reference to the TransactionManager in an enterprise environment. See Section 13.1, “Integrating with the Transaction Manager” on Integrating with the Transaction Manager for details.
Property name: kodo.ManagementServer
Configuration API: kodo.conf.JDOConfiguration.getManagementServer
Resource adaptor config-property: ManagementServer
Default: false
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the com.solarmetric.manage.ManagerServer implementation to use for remote monitoring. For more information, see Chapter 12, Management and Monitoring.
Property name: kodo.ManagementUI
Configuration API: kodo.conf.JDOConfiguration.getManagementUI
Resource adaptor config-property: ManagementUI
Default: none
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the com.solarmetric.manage.ManagerUI implementation to use for local monitoring. For more information, see Chapter 12, Management and Monitoring.
Property name: kodo.PersistenceManagerImpl
Configuration API: kodo.conf.JDOConfiguration.getPersistenceManagerImpl
Resource adaptor config-property: PersistenceManagerImpl
Default: default
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the javax.jdo.PersistenceManager type to use at runtime. See Section 10.2.2, “PersistenceManager Extension” on PersistenceManager Extension for details.
Property name: kodo.PersistentClasses
Configuration API: kodo.conf.JDOConfiguration.getPersistentClasses
Resource adaptor config-property: PersistentClasses
Default: -
Description: A comma-separated list of classes that are to be instantiated whenever a new PersistenceManager is created. See Section 5.6, “Persistent Class List” for details.
Property name: kodo.ProxyManager
Configuration API: kodo.conf.JDOConfiguration.getProxyManager
Resource adaptor config-property: ProxyManager
Default: default
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.util.ProxyManager to use for proxying mutable second class objects. See Section 5.3.3.3, “Custom Proxies” for details.
Property name: kodo.QueryCache
Configuration API: kodo.conf.JDOConfiguration.getQueryCache
Resource adaptor config-property: QueryCache
Default: true, when the data cache (see Section 2.6.13, “kodo.DataCache”) is also enabled, false otherwise.
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.QueryCache implementation to use for caching of queries loaded from the data store. See Section 14.3.3, “Query Caching” on Query Caching for details.
Property name: kodo.QueryCompilationCache
Configuration API: kodo.conf.JDOConfiguration.getQueryCompilationCache
Resource adaptor config-property: QueryCompilationCache
Default: true.
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the java.util.Map to use for caching of data used during query compilation.
Table 2.1. Pre-defined aliases
Alias | Value | Notes |
---|---|---|
true | kodo.util.CacheMap | The default option. Uses a CacheMap to store compilation data. CacheMap uses a least-recently-used strategy for a fixed number of cache entries, and an optional soft reference map for entries that are moved out of the LRU space. So, for applications that have a monotonically increasing number of distinct queries, this option can be used to ensure that a fixed amount of memory is used by the cache. |
all | java.util.HashMap | This is the fastest, but compilation data is never dropped from the cache, so if you use a large number of dynamic queries, this option may result in ever-increasing memory usage. Note that if your queries only differ in the values of the parameters, this should not be an issue. |
false | none | Disables the sharing of compilation data between different query compilations. |
Property name: kodo.RemoteCommitProvider
Configuration API: kodo.conf.JDOConfiguration.getRemoteCommitProvider
Resource adaptor config-property: RemoteCommitProvider
Default: -
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.event.RemoteCommitProvider implementation to use for distributed event notification. See Section 14.4.1, “Remote Commit Provider Configuration” on Remote Commit Provider Configuration for details.
Property name: kodo.RestoreMutableValues
Configuration API: kodo.conf.JDOConfiguration.getRestoreMutableValues
Resource adaptor config-property: RestoreMutableValues
Default: false
Description: Whether to restore mutable second class object fields such as collections and maps to their pre-transaction values when a rollback occurs. When setting this property to true you must also make sure the javax.jdo.option.RestoreValues property described in Section 2.5.13, “javax.jdo.option.RestoreValues” is not set to false.
Property name: kodo.RetainValuesInOptimistic
Configuration API: kodo.conf.JDOConfiguration.getRetainValuesInOptimistic
Resource adaptor config-property: RetainValuesInOptimistic
Default: true
Description: If false, then nontransactional objects will be cleared when they are first modified in an optimistic transaction. This cuts down on the possible number of optimistic verification exceptions, but it is not standard JDO behavior and can also have negative performance consequences depending on usage patterns.
Property name: kodo.TransactionMode
Configuration API: kodo.conf.JDOConfiguration.getTransactionMode
Resource adaptor config-property: TransactionMode
Default: local
Description: The default transaction mode to use when obtaining a persistence manager. This property can also be specified when obtaining an individual persistence manager. See Section 13.1, “Integrating with the Transaction Manager” on Integrating with the Transaction Manager for details.
Property name: kodo.jdbc.AutoIncrementConstraints
Configuration API: kodo.conf.JDBCConfiguration.getAutoIncrementConstraints
Resource adaptor config-property: AutoIncrementConstraints
Default: false
Description: Whether to order SQL to meet dependencies introduced by relations to objects with auto-incrementing primary key values. See Section 5.2.3.2, “Auto-Increment” for details.
Property name: kodo.jdbc.ClassIndicator
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getClassIndicator
Resource adaptor config-property: ClassIndicator
Default: in-class-name
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.ClassIndicator to install on new mappings. See Section 7.7, “Class Indicator” for details.
Property name: kodo.jdbc.ConnectionDecorators
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getConnectionDecorators
Resource adaptor config-property: ConnectionDecorators
Default: -
Description: A comma-separated list of plugin strings (see Section 2.4, “Plugin Configuration”) describing com.solarmetric.jdbc.ConnectionDecorator instances to install on the connection factory. These decorators can wrap connections passed from the underlying data source to add functionality. Kodo will pass all connections through the list of decorators before using them. Note that by default Kodo JDO employs all of the built-in decorators in the com.solarmetric.jdbc package already; you do not need to list them here.
Property name: kodo.jdbc.DataSourceMode
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getDataSourceMode
Resource adaptor config-property: DataSourceMode
Default: local
Description: The data source mode to use when integrating with the application server's managed transactions. See Section 4.2.1, “Enlisted Data Sources” for details.
Property name: kodo.jdbc.DBDictionary
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getDBDictionary
Resource adaptor config-property: DBDictionary
Default: Based on the javax.jdo.option.ConnectionURL (see Section 2.5.6, “javax.jdo.option.ConnectionURL”) and javax.jdo.option.ConnectionDriverName (see Section 2.5.2, “javax.jdo.option.ConnectionDriverName”).
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.sql.DBDictionary to use for database interaction. Kodo JDO typically auto-configures the dictionary based on the JDBC URL, but you may have to set this property explicitly if you are using an unrecognized driver, or to plug in your own dictionary for a database Kodo JDO does not support out-of-the-box. See Section 4.3, “Database Support” for details.
Property name: kodo.jdbc.FetchDirection
Configuration API: kodo.conf.JDBCConfiguration.getFetchDirection
Resource adaptor config-property: FetchDirection
Default: forward
Description: The expected order in which query result lists will be accessed. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.
Property name: kodo.jdbc.ForeignKeyConstraints
Configuration API: kodo.conf.JDBCConfiguration.getForeignKeyConstraints
Resource adaptor config-property: ForeignKeyConstraints
Default: false
Description: Whether to evaluate database foreign key constraints and order all SQL operations so that referential integrity is not violated. See Section 4.11, “SQL Statement Ordering & Foreign Keys” on SQL Statement Ordering for details.
Property name: kodo.jdbc.JDBCListeners
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getJDBCListeners
Resource adaptor config-property: JDBCListeners
Default: -
Description: A comma-separated list of plugin strings (see Section 2.4, “Plugin Configuration”) describing com.solarmetric.jdbc.JDBCListener event listeners to install. These listeners will be notified on various JDBC-related events. The com.solarmetric.jdbc.PerformanceTracker is one such listener that can be used to track JDBC performance.
Property name: kodo.jdbc.LRSSize
Configuration API: kodo.conf.JDBCConfiguration.getLRSSize
Resource adaptor config-property: LRSSize
Default: query
Description: The strategy to use to calculate the size of a result list. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.
Property name: kodo.jdbc.MappingFactory
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getMappingFactory
Resource adaptor config-property: MappingFactory
Default: file
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.meta.MappingFactory to use to store and retrieve object-relational mapping information for your persistent classes. See Section 7.2, “Mapping Factory” on Mapping Factories for details.
Property name: kodo.jdbc.ResultSetType
Configuration API: kodo.conf.JDBCConfiguration.getResultSetType
Resource adaptor config-property: ResultSetType
Default: forward-only
Description: The JDBC result set type to use when fetching result lists. This property can also be specified for individual persistence manager, query, and extent instances. See Section 4.10, “Large Result Sets” for details.
Property name: kodo.jdbc.SchemaFactory
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSchemaFactory
Resource adaptor config-property: SchemaFactory
Default: native
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.schema.SchemaFactory to use to store and retrieve information about the database schema. See Section 8.1.2, “Schema Factory” for details.
Property name: kodo.jdbc.Schemas
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSchemas
Resource adaptor config-property: Schemas
Default: -
Description: A comma-separated list of the schemas and/or tables used for your persistent JDO-related data. See Section 8.1.1, “Schemas List” for details.
Property name: kodo.jdbc.SequenceFactory
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSequenceFactory
Resource adaptor config-property: SequenceFactory
Default: db
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.jdbc.schema.SequenceFactory to use to generate datastore identity values. See Section 5.2.3.1, “Sequence Factory” for details.
Property name: kodo.jdbc.SubclassMapping
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getSubclassMapping
Resource adaptor config-property: SubclassMapping
Default: flat
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.ClassMapping to install on new subclass mappings. See Section 7.5, “Class Mapping” for details.
Property name: kodo.jdbc.TransactionIsolation
Configuration API: kodo.conf.JDBCConfiguration.getTransactionIsolation
Resource adaptor config-property: TransactionIsolation
Default: default
Description: The JDBC transaction isolation level to use. See Section 4.6, “Setting the Transaction Isolation” for details.
Property name: kodo.jdbc.UpdateManager
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getUpdateManager
Resource adaptor config-property: UpdateManager
Default: default
Description: The full class name of the kodo.jdbc.runtime.UpdateManager to use to flush persistent object changes to the data store. The provided default implementation ( kodo.jdbc.runtime.UpdateManagerImpl , with a configuration alias of default) will suit all but the most advanced users.
Property name: kodo.jdbc.VersionIndicator
Configuration API: kodo.jdbc.conf.JDBCConfiguration.getVersionIndicator
Resource adaptor config-property: VersionIndicator
Default: version-number
Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the default kodo.jdbc.meta.VersionIndicator to install on new mappings. See Section 7.6, “Version Indicator” for details.