2.6. Kodo Properties

2.6.1. kodo.AggregateListeners
2.6.2. kodo.AutoClear
2.6.3. kodo.AutoDetach
2.6.4. kodo.BrokerFactory
2.6.5. kodo.BrokerImpl
2.6.6. kodo.ClassResolver
2.6.7. kodo.Compatibility
2.6.8. kodo.ConnectionDriverName
2.6.9. kodo.Connection2DriverName
2.6.10. kodo.ConnectionFactory
2.6.11. kodo.ConnectionFactory2
2.6.12. kodo.ConnectionFactoryName
2.6.13. kodo.ConnectionFactory2Name
2.6.14. kodo.ConnectionFactoryMode
2.6.15. kodo.ConnectionFactoryProperties
2.6.16. kodo.ConnectionFactory2Properties
2.6.17. kodo.ConnectionPassword
2.6.18. kodo.Connection2Password
2.6.19. kodo.ConnectionProperties
2.6.20. kodo.Connection2Properties
2.6.21. kodo.ConnectionURL
2.6.22. kodo.Connection2URL
2.6.23. kodo.ConnectionUserName
2.6.24. kodo.Connection2UserName
2.6.25. kodo.ConnectionRetainMode
2.6.26. kodo.DataCache
2.6.27. kodo.DataCacheManager
2.6.28. kodo.DataCacheTimeout
2.6.29. kodo.DetachState
2.6.30. kodo.DynamicDataStructs
2.6.31. kodo.ExecutionContextNameProvider
2.6.32. kodo.FetchBatchSize
2.6.33. kodo.FetchGroups
2.6.34. kodo.FilterListeners
2.6.35. kodo.FlushBeforeQueries
2.6.36. kodo.Id
2.6.37. kodo.IgnoreChanges
2.6.38. kodo.InverseManager
2.6.39. kodo.JMX
2.6.40. kodo.LockManager
2.6.41. kodo.LockTimeout
2.6.42. kodo.Log
2.6.43. kodo.ManagedRuntime
2.6.44. kodo.Mapping
2.6.45. kodo.MaxFetchDepth
2.6.46. kodo.MetaDataFactory
2.6.47. kodo.MetaDataRepository
2.6.48. kodo.Multithreaded
2.6.49. kodo.Optimistic
2.6.50. kodo.OrphanedKeyAction
2.6.51. kodo.NontransactionalRead
2.6.52. kodo.NontransactionalWrite
2.6.53. kodo.PersistenceServer
2.6.54. kodo.Profiling
2.6.55. kodo.ProxyManager
2.6.56. kodo.QueryCache
2.6.57. kodo.QueryCompilationCache
2.6.58. kodo.ReadLockLevel
2.6.59. kodo.RemoteCommitProvider
2.6.60. kodo.RestoreState
2.6.61. kodo.RetainState
2.6.62. kodo.RetryClassRegistration
2.6.63. kodo.SavepointManager
2.6.64. kodo.Sequence
2.6.65. kodo.TransactionMode
2.6.66. kodo.WriteLockLevel

Kodo defines many configuration properties. Most of these properties are provided for advanced users who wish to customize Kodo's behavior; the majority of developers can omit them. The following properties apply to any Kodo back-end, though the given descriptions are tailored to Kodo's default JDBC store.

2.6.1. kodo.AggregateListeners

Property name: kodo.AggregateListeners

Resource adaptor config-property: AggregateListeners

Default:-

Description: A comma-separated list of plugin strings (see Section 2.4, “Plugin Configuration”) describing custom kodo.jdbc.kernel.exps.JDBCAggregateListeners to make available to all queries, in addition to the standard set of listeners. See Section 9.6, “Query Language Extensions” for details on aggregate listeners.

2.6.2. kodo.AutoClear

Property name: kodo.AutoClear

Resource adaptor config-property: AutoClear

Default: datastore

Possible values: datastore, all

Description: When to automatically clear instance state: on entering a datastore transaction, or on entering any transaction.

2.6.3. kodo.AutoDetach

Property name: kodo.AutoDetach

Resource adaptor config-property: AutoDetach

Default: -

Possible values: close, commit, nontx-read

Description: A comma-separated list of events when managed instances will be automatically detached.

2.6.4. kodo.BrokerFactory

Property name: kodo.BrokerFactory

Resource adaptor config-property: BrokerFactory

Default: jdbc

Possible values: jdbc, abstractstore, remote

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.kernel.BrokerFactory type to use.

2.6.5. kodo.BrokerImpl

Property name: kodo.BrokerImpl

Resource adaptor config-property: BrokerImpl

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.kernel.Broker type to use at runtime. See Section 9.1.1, “Broker Customization” on for details.

2.6.6. kodo.ClassResolver

Property name: kodo.ClassResolver

Resource adaptor config-property: ClassResolver

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.util.ClassResolver implementation to use for class name resolution. You may wish to plug in your own resolver if you have special classloading needs.

2.6.7. kodo.Compatibility

Property name: kodo.Compatibility

Resource adaptor config-property: Compatibility

Default: -

Description: Encapsulates options to mimic the behavior of previous Kodo releases. See Section 5.1, “Compatibility Configuration”.

2.6.8. kodo.ConnectionDriverName

Property name: kodo.ConnectionDriverName

Resource adaptor config-property: ConnectionDriverName

Default: -

Description: The full class name of either the JDBC java.sql.Driver, or a javax.sql.DataSource implementation to use to connect to the database. See Chapter 4, JDBC for details.

2.6.9. kodo.Connection2DriverName

Property name: kodo.Connection2DriverName

Resource adaptor config-property: Connection2DriverName

Default: -

Description: This property is equivalent to the kodo.ConnectionDriverName property described in Section 2.6.8, “kodo.ConnectionDriverName”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.10. kodo.ConnectionFactory

Property name: kodo.ConnectionFactory

Resource adaptor config-property: ConnectionFactory

Default: -

Description: A javax.sql.DataSource to use to connect to the database. See Chapter 4, JDBC for details.

2.6.11. kodo.ConnectionFactory2

Property name: kodo.ConnectionFactory2

Resource adaptor config-property: ConnectionFactory2

Default: -

Description: An unmanaged javax.sql.DataSource to use to connect to the database. See Chapter 4, JDBC for details.

2.6.12. kodo.ConnectionFactoryName

Property name: kodo.ConnectionFactoryName

Resource adaptor config-property: ConnectionFactoryName

Default: -

Description: The JNDI location of a javax.sql.DataSource to use to connect to the database. See Chapter 4, JDBC for details.

2.6.13. kodo.ConnectionFactory2Name

Property name: kodo.ConnectionFactory2Name

Resource adaptor config-property: ConnectionFactory2Name

Default: -

Description: The JNDI location of an unmanaged javax.sql.DataSource to use to connect to the database. See Section 8.3, “XA Transactions” for details.

2.6.14. kodo.ConnectionFactoryMode

Property name: kodo.ConnectionFactoryMode

Resource adaptor config-property: ConnectionFactoryMode

Default: local

Possible values: local, managed

Description: The connection factory mode to use when integrating with the application server's managed transactions. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.15. kodo.ConnectionFactoryProperties

Property name: kodo.ConnectionFactoryProperties

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.

2.6.16. kodo.ConnectionFactory2Properties

Property name: kodo.ConnectionFactory2Properties

Resource adaptor config-property: ConnectionFactory2Properties

Default: -

Description: This property is equivalent to the kodo.ConnectionFactoryProperties property described in Section 2.6.15, “kodo.ConnectionFactoryProperties”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.17. kodo.ConnectionPassword

Property name: kodo.ConnectionPassword

Resource adaptor config-property: ConnectionPassword

Default: -

Description: The password for the user specified in the ConnectionUserName property. See Chapter 4, JDBC for details.

2.6.18. kodo.Connection2Password

Property name: kodo.Connection2Password

Resource adaptor config-property: Connection2Password

Default: -

Description: This property is equivalent to the kodo.ConnectionPassword property described in Section 2.6.17, “kodo.ConnectionPassword”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.19. kodo.ConnectionProperties

Property name: kodo.ConnectionProperties

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 below. See Chapter 4, JDBC for details.

2.6.20. kodo.Connection2Properties

Property name: kodo.Connection2Properties

Resource adaptor config-property: Connection2Properties

Default: -

Description: This property is equivalent to the kodo.ConnectionProperties property described in Section 2.6.19, “kodo.ConnectionProperties”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.21. kodo.ConnectionURL

Property name: kodo.ConnectionURL

Resource adaptor config-property: ConnectionURL

Default: -

Description: The JDBC URL for the database. See Chapter 4, JDBC for details.

2.6.22. kodo.Connection2URL

Property name: kodo.Connection2URL

Resource adaptor config-property: Connection2URL

Default: -

Description: This property is equivalent to the kodo.ConnectionURL property described in Section 2.6.21, “kodo.ConnectionURL”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.23. kodo.ConnectionUserName

Property name: kodo.ConnectionUserName

Resource adaptor config-property: ConnectionUserName

Default: -

Description: The user name to use when connecting to the database. See the Chapter 4, JDBC for details.

2.6.24. kodo.Connection2UserName

Property name: kodo.Connection2UserName

Resource adaptor config-property: Connection2UserName

Default: -

Description: This property is equivalent to the kodo.ConnectionUserName property described in Section 2.6.23, “kodo.ConnectionUserName”, but applies to the alternate connection factory used for unmanaged connections. See Section 4.2.1, “Managed and XA DataSources” for details.

2.6.25. kodo.ConnectionRetainMode

Property name: kodo.ConnectionRetainMode

Resource adaptor config-property: ConnectionRetainMode

Default: on-demand

Description: Controls how Kodo uses datastore connections. This property can also be specified for individual sessions. See Section 4.9, “Configuring the Use of JDBC Connections” for details.

2.6.26. kodo.DataCache

Property name: kodo.DataCache

Resource adaptor config-property: DataCache

Default: false

Description: A plugin list string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.DataCaches to use for data caching. See Section 10.1.1, “Data Cache Configuration” for details.

2.6.27. kodo.DataCacheManager

Property name: kodo.DataCacheManager

Resource adaptor config-property: DataCacheManager

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.datacache.DataCacheManager that manages the system data caches. See Section 10.1, “Data Cache” for details on data caching.

2.6.28. kodo.DataCacheTimeout

Property name: kodo.DataCacheTimeout

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 10.1.1, “Data Cache Configuration” for details.

2.6.29. kodo.DetachState

Property name: kodo.DetachState

Resource adaptor config-property: DetachState

Default: loaded

Possible values: loaded, fgs, all

Description: Determines which fields are part of the detached graph and related options. For more details, see Section 11.1.3, “Defining the Detached Object Graph”.

2.6.30. kodo.DynamicDataStructs

Property name: kodo.DynamicDataStructs

Resource adaptor config-property: DynamicDataStructs

Default: false

Description: Whether to dynamically generate customized structs to hold persistent data. Both the Kodo data cache and the remote framework rely on data structs to cache and transfer persistent state. With dynamic structs, Kodo can customize data storage for each class, eliminating the need to generate primitive wrapper objects. This saves memory and speeds up certain runtime operations. The price is a longer warm-up time for the application - generating and loading custom classes into the JVM takes time. Therefore, only set this property to true if you have a long-running application where the initial cost of class generation is offset by memory and speed optimization over time.

2.6.31. kodo.ExecutionContextNameProvider

Property name: kodo.ExecutionContextNameProvider

Resource adaptor config-property: ExecutionContextNameProvider

Default: stack

Description: Allows for configuration of naming the execution context for management and profiling information. For more information, see Section 12.1.6, “Configuring the Execution Context Name Provider”.

2.6.32. kodo.FetchBatchSize

Property name: kodo.FetchBatchSize

Resource adaptor config-property: FetchBatchSize

Default: -1

Description: The number of rows to fetch at once when scrolling through a result set. The fetch size can also be set at runtime. See Section 4.11, “Large Result Sets” for details.

2.6.33. kodo.FetchGroups

Property name: kodo.FetchGroups

Resource adaptor config-property: FetchGroups

Default: -

Description: A comma-separated list of fetch group names that are to be loaded when retrieving objects from the datastore. Fetch groups can also be set at runtime. See Section 5.6, “Fetch Groups” for details.

2.6.34. kodo.FilterListeners

Property name: kodo.FilterListeners

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.kernel.exps.JDBCFilterListeners to make available to all queries, in addition to the standard set of listeners. You can also add filter listeners to individual queries. See Section 9.6, “Query Language Extensions” for details.

2.6.35. kodo.FlushBeforeQueries

Property name: kodo.FlushBeforeQueries

Property name: kodo.FlushBeforeQueries

Resource adaptor config-property: FlushBeforeQueries

Default: true

Description: Whether or not to flush any changes made in the current transaction to the datastore before executing a query. See Section 4.9, “Configuring the Use of JDBC Connections” for details.

2.6.36. kodo.Id

Property name: kodo.Id

Resource adaptor config-property: Id

Default: none

Description: An environment-specific identifier for this configuration. This might correspond to a JPA persistence-unit name, or to some other more-unique value available in the current environment.

2.6.37. kodo.IgnoreChanges

Property name: kodo.IgnoreChanges

Resource adaptor config-property: IgnoreChanges

Default: false

Description: Whether to consider modifications to persistent objects made in the current transaction when evaluating queries. Setting this to true allows Kodo to ignore changes and execute the query directly against the datastore. A value of false forces Kodo to consider whether the changes in the current transaction affect the query, and if so to either evaluate the query in-memory or flush before running it against the datastore.

2.6.38. kodo.InverseManager

Property name: kodo.InverseManager

Resource adaptor config-property: InverseManager

Default: false

Possible values: false, true

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.kernel.InverseManager to use for managing bidirectional relations upon a flush. See Section 5.4, “Managed Inverses” for usage documentation.

2.6.39. kodo.JMX

Property name: kodo.JMX

Resource adaptor config-property: JMX

Default: none

Description: Allows for configuration of management capabilities. For more information, see Chapter 12, Management and Monitoring.

2.6.40. kodo.LockManager

Property name: kodo.LockManager

Resource adaptor config-property: LockManager

Default: pessimistic

Possible values: none, sjvm, pessimistic

Description: A plugin string (see Section 2.4, “Plugin Configuration”) kodo.kernel.LockManager to use for acquiring locks on persistent instances during transactions.

2.6.41. kodo.LockTimeout

Property name: kodo.LockTimeout

Resource adaptor config-property: LockTimeout

Default: -1

Description: The number of milliseconds to wait for an object lock before throwing an exception, or -1 for no limit. See Section 9.4, “Object Locking” for details.

2.6.42. kodo.Log

Property name: kodo.Log

Resource adaptor config-property: Log

Default: true

Possible values: kodo, commons, log4j, none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a com.solarmetric.log.LogFactory to use for logging. For details on logging, see Chapter 3, Logging.

2.6.43. kodo.ManagedRuntime

Property name: kodo.ManagedRuntime

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 8.2, “Integrating with the Transaction Manager” on for details.

2.6.44. kodo.Mapping

Property name: kodo.Mapping

Resource adaptor config-property: Mapping

Default: -

Description: The symbolic name of the object-to-datastore mapping to use.

For JDO use, see the equivalent javax.jdo.option.Mapping property described in Section 15.1, “Mapping Metadata Placement” of the JDO Overview.

2.6.45.  kodo.MaxFetchDepth

Property name: kodo.MaxFetchDepth

Resource adaptor config-property: MaxFetchDepth

Default: -1

Description: The maximum depth of relations to traverse when eager fetching. Use -1 for no limit. Defaults to no limit. See Section 5.7, “Eager Fetching” for details on eager fetching.

2.6.46. kodo.MetaDataFactory

Property name: kodo.MetaDataFactory

Resource adaptor config-property: MetaDataFactory

Default: jdo

Possible values: jdo, jpa, kodo3

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.meta.MetaDataFactory to use to store and retrieve metadata for your persistent classes. See Section 6.2, “Metadata Factory” for details.

2.6.47. kodo.MetaDataRepository

Property name: kodo.MetaDataRepository

Resource adaptor config-property: MetaDataRepository

Default: default

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.meta.MetaDataRepository to use to store the metadata for your persistent classes.

2.6.48. kodo.Multithreaded

Property name: kodo.Multithreaded

Resource adaptor config-property: Multithreaded

Default: false

Description: Whether persistent instances and Kodo components will be accessed by multiple threads at once.

2.6.49. kodo.Optimistic

Property name: kodo.Optimistic

Resource adaptor config-property: Optimistic

Default: true

Description: Selects between optimistic and pessimistic (datastore) transactional modes.

2.6.50. kodo.OrphanedKeyAction

Property name: kodo.OrphanedKeyAction

Resource adaptor config-property: OrphanedKeyAction

Default: log

Possible values: log, exception, none

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.event.OrphanedKeyAction to invoke when Kodo discovers an orphaned datastore key. See Section 7.11, “Orphaned Keys” for details.

2.6.51. kodo.NontransactionalRead

Property name: kodo.NontransactionalRead

Resource adaptor config-property: NontransactionalRead

Default: true

Description: Whether the Kodo runtime will allow you to read data outside of a transaction.

2.6.52. kodo.NontransactionalWrite

Property name: kodo.NontransactionalWrite

Resource adaptor config-property: NontransactionalWrite

Default: false

Description: Whether you can modify persistent objects and perform persistence operations outside of a transaction. Changes will take effect on the next transaction.

2.6.53. kodo.PersistenceServer

Property name: kodo.PersistenceServer

Resource adaptor config-property: PersistenceServer

Default: false

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing whether and how to service remote clients with this factory. See Section 11.2, “Remote Managers” for details.

2.6.54. kodo.Profiling

Property name: kodo.Profiling

Resource adaptor config-property: Profiling

Default: none

Description: Allows for configuration of profiling capabilities. For more information, see Chapter 13, Profiling.

2.6.55. kodo.ProxyManager

Property name: kodo.ProxyManager

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.5.4.3, “Custom Proxies” for details.

2.6.56. kodo.QueryCache

Property name: kodo.QueryCache

Resource adaptor config-property: QueryCache

Default: true, when the data cache (see Section 2.6.26, “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 10.1.4, “Query Cache” for details.

2.6.57. kodo.QueryCompilationCache

Property name: kodo.QueryCompilationCache

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. See Section 10.2, “Query Compilation Cache” for details.

2.6.58. kodo.ReadLockLevel

Property name: kodo.ReadLockLevel

Resource adaptor config-property: ReadLockLevel

Default: read

Possible values: none, read, write, numeric values for lock-manager specific lock levels

Description: The default level at which to lock objects retrieved during a non-optimistic transaction. Note that for the default JDBC lock manager, read and write lock levels are equivalent.

2.6.59. kodo.RemoteCommitProvider

Property name: kodo.RemoteCommitProvider

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 11.3.1, “Remote Commit Provider Configuration” for more information.

2.6.60. kodo.RestoreState

Property name: kodo.RestoreState

Resource adaptor config-property: RestoreState

Default: none

Possible values: none, immutable, all

Description: Whether to restore managed fields to their pre-transaction values when a rollback occurs.

2.6.61. kodo.RetainState

Property name: kodo.RetainState

Resource adaptor config-property: RetainState

Default: true

Description: Whether persistent fields retain their values on transaction commit.

2.6.62. kodo.RetryClassRegistration

Property name: kodo.RetryClassRegistration

Resource adaptor config-property: RetryClassRegistration

Default: false

Description: Controls whether to log a warning and defer registration instead of throwing an exception when a persistent class cannot be fully processed. This property should only be used in complex classloader situations where security is preventing Kodo from reading registered classes. Setting this to true unnecessarily may obscure more serious problems.

2.6.63. kodo.SavepointManager

Property name: kodo.SavepointManager

Resource adaptor config-property: SavepointManager

Default: in-mem

Possible values: in-mem, jdbc, oracle

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing a kodo.kernel.SavepointManager to use for managing transaction savepoints. See Section 9.5, “Savepoints” for details.

2.6.64. kodo.Sequence

Property name: kodo.Sequence

Resource adaptor config-property: Sequence

Default: table

Description: A plugin string (see Section 2.4, “Plugin Configuration”) describing the kodo.kernel.Seq implementation to use for the system sequence. See Section 9.7, “Generators” for more information.

2.6.65. kodo.TransactionMode

Property name: kodo.TransactionMode

Resource adaptor config-property: TransactionMode

Default: local

Possible values: local, managed

Description: The default transaction mode to use. You can override this setting per-session. See Section 8.2, “Integrating with the Transaction Manager” for details.

2.6.66. kodo.WriteLockLevel

Property name: kodo.WriteLockLevel

Resource adaptor config-property: WriteLockLevel

Default: write

Possible values: none, read, write, numeric values for lock-manager specific lock levels

Description: The default level at which to lock objects changed during a non-optimistic transaction. Note that for the default JDBC lock manager, read and write lock levels are equivalent.

 

Skip navigation bar   Back to Top