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.
Property name:
kodo.AggregateListeners
Configuration API:
kodo.conf.KodoConfiguration.getAggregateListeners
Resource adaptor config-property:
AggregateListeners
Default:-
Description:
A comma-separated list of plugin strings
(see Section 2.5, “Plugin Configuration”) describing custom
kodo.jdbc.kernel.exps.JDBCAggregateListener
s
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.
Property name:
kodo.AutoClear
Configuration API:
kodo.conf.KodoConfiguration.getAutoClear
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.
Property name:
kodo.AutoDetach
Configuration API:
kodo.conf.KodoConfiguration.getAutoDetach
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.
Property name:
kodo.BrokerFactory
Configuration API:
kodo.conf.KodoConfiguration.getBrokerFactory
Resource adaptor config-property:
BrokerFactory
Default: jdbc
Possible values:
jdbc
, abstractstore
,
remote
Description: A plugin string
(see Section 2.5, “Plugin Configuration”)
describing the
kodo.kernel.BrokerFactory
type
to use.
Property name:
kodo.BrokerImpl
Configuration API:
kodo.conf.KodoConfiguration.getBrokerImpl
Resource adaptor config-property:
BrokerImpl
Default: default
Description: A plugin string
(see Section 2.5, “Plugin Configuration”) describing the
kodo.kernel.Broker
type to use at runtime.
See Section 9.1.1, “Broker Customization” on for details.
Property name:
kodo.ClassResolver
Configuration API:
kodo.conf.KodoConfiguration.getClassResolver
Resource adaptor config-property:
ClassResolver
Default: default
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.Compatibility
Configuration API:
kodo.conf.KodoConfiguration.getCompatibility
Resource adaptor config-property:
Compatibility
Default: -
Description: Encapsulates options to mimic the behavior of previous Kodo releases. See Section 6.1, “Compatibility Configuration”.
Property name:
kodo.ConnectionDriverName
Configuration API:
kodo.conf.KodoConfiguration.getConnectionDriverName
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.
Property name:
kodo.Connection2DriverName
Configuration API:
kodo.conf.KodoConfiguration.getConnection2DriverName
Resource adaptor config-property:
Connection2DriverName
Default: -
Description:
This property is equivalent to the
kodo.ConnectionDriverName
property described in
Section 2.7.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.
Property name:
kodo.ConnectionFactory
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactory
Resource adaptor config-property:
ConnectionFactory
Default: -
Description: A
javax.sql.DataSource
to use to
connect to the database. See Chapter 4, JDBC
for details.
Property name:
kodo.ConnectionFactory2
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactory2
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.
Property name:
kodo.ConnectionFactoryName
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactoryName
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.
Property name:
kodo.ConnectionFactory2Name
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactory2Name
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.
Property name:
kodo.ConnectionFactoryMode
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactoryMode
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.
Property name:
kodo.ConnectionFactoryProperties
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactoryProperties
Resource adaptor config-property:
ConnectionFactoryProperties
Default: -
Description: A plugin string
(see Section 2.5, “Plugin Configuration”) listing
properties for configuration of the javax.sql.DataSource
in use. See the Chapter 4, JDBC
for details.
Property name:
kodo.ConnectionFactory2Properties
Configuration API:
kodo.conf.KodoConfiguration.getConnectionFactory2Properties
Resource adaptor config-property:
ConnectionFactory2Properties
Default: -
Description:
This property is equivalent to the
kodo.ConnectionFactoryProperties
property
described in Section 2.7.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.
Property name:
kodo.ConnectionPassword
Configuration API:
kodo.conf.KodoConfiguration.getConnectionPassword
Resource adaptor config-property:
ConnectionPassword
Default: -
Description: The password for
the user specified in the ConnectionUserName
property. See Chapter 4, JDBC for details.
Property name:
kodo.Connection2Password
Configuration API:
kodo.conf.KodoConfiguration.getConnection2Password
Resource adaptor config-property:
Connection2Password
Default: -
Description:
This property is equivalent to the kodo.ConnectionPassword
property described in
Section 2.7.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.
Property name:
kodo.ConnectionProperties
Configuration API:
kodo.conf.KodoConfiguration.getConnectionProperties
Resource adaptor config-property:
ConnectionProperties
Default: -
Description: A plugin string (see
Section 2.5, “Plugin Configuration”) listing properties to
configure the driver listed in the ConnectionDriverName
property described below. See
Chapter 4, JDBC for details.
Property name:
kodo.Connection2Properties
Configuration API:
kodo.conf.KodoConfiguration.getConnection2Properties
Resource adaptor config-property:
Connection2Properties
Default: -
Description:
This property is equivalent to the
kodo.ConnectionProperties
property
described in Section 2.7.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.
Property name:
kodo.ConnectionURL
Configuration API:
kodo.conf.KodoConfiguration.getConnectionURL
Resource adaptor config-property:
ConnectionURL
Default: -
Description: The JDBC URL for the database. See Chapter 4, JDBC for details.
Property name:
kodo.Connection2URL
Configuration API:
kodo.conf.KodoConfiguration.getConnection2URL
Resource adaptor config-property:
Connection2URL
Default: -
Description:
This property is equivalent to the
kodo.ConnectionURL
property
described in Section 2.7.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.
Property name:
kodo.ConnectionUserName
Configuration API:
kodo.conf.KodoConfiguration.getConnectionUserName
Resource adaptor config-property:
ConnectionUserName
Default: -
Description: The user name to use when connecting to the database. See the Chapter 4, JDBC for details.
Property name:
kodo.Connection2UserName
Configuration API:
kodo.conf.KodoConfiguration.getConnection2UserName
Resource adaptor config-property:
Connection2UserName
Default: -
Description:
This property is equivalent to the
kodo.ConnectionUserName
property
described in Section 2.7.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.
Property name:
kodo.ConnectionRetainMode
Configuration API:
kodo.conf.KodoConfiguration.getConnectionRetainMode
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.8, “Configuring the Use of JDBC Connections” for details.
Property name:
kodo.DataCache
Configuration API:
kodo.conf.KodoConfiguration.getDataCache
Resource adaptor config-property:
DataCache
Default: false
Description: A plugin list string
(see Section 2.5, “Plugin Configuration”)
describing the
kodo.datacache.DataCache
s to
use for data caching. See Section 10.1.1, “Data Cache Configuration”
for details.
Property name:
kodo.DataCacheTimeout
Configuration API:
kodo.conf.KodoConfiguration.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 10.1.1, “Data Cache Configuration” for details.
Property name:
kodo.DetachState
Configuration API:
kodo.conf.KodoConfiguration.getDetachState
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”.
Property name:
kodo.DynamicDataStructs
Configuration API:
kodo.conf.KodoConfiguration.getDynamicDataStructs
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.
Property name:
kodo.FetchBatchSize
Configuration API:
kodo.conf.KodoConfiguration.getFetchBatchSize
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.10, “Large Result Sets” for details.
Property name:
kodo.FetchGroups
Configuration API:
kodo.conf.KodoConfiguration.getFetchGroups
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.
Property name:
kodo.FilterListeners
Configuration API:
kodo.conf.KodoConfiguration.getFilterListeners
Resource adaptor config-property:
FilterListeners
Default: -
Description: A comma-separated
list of full plugin strings (see
Section 2.5, “Plugin Configuration”) for custom
kodo.jdbc.kernel.exps.JDBCFilterListener
s
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.
Property name:
kodo.FlushBeforeQueries
Property name:
kodo.FlushBeforeQueries
Configuration API:
kodo.conf.KodoConfiguration.getFlushBeforeQueries
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.8, “Configuring the Use of JDBC Connections” for details.
Property name:
kodo.IgnoreChanges
Configuration API:
kodo.conf.KodoConfiguration.getIgnoreChanges
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.
Property name:
kodo.InverseManager
Configuration API:
kodo.conf.KodoConfiguration.getInverseManager
Resource adaptor config-property:
InverseManager
Default:
false
Possible values:
false
, true
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.LicenseKey
Configuration API:
kodo.conf.KodoConfiguration.getLicenseKey
Resource adaptor config-property:
LicenseKey
Default: -
Description: This property is deprecated in favor of BEA's universal licensing system. For details on how configure Kodo to use BEA's license file, see Section 2.2, “License Configuration”. Kodo will continue to utilize legacy license keys set in this property.
Property name:
kodo.LockManager
Configuration API:
kodo.conf.KodoConfiguration.getLockManager
Resource adaptor config-property:
LockManager
Default:
pessimistic
Possible values:
none
, sjvm
,
pessimistic
Description: A plugin string
(see Section 2.5, “Plugin Configuration”)
describing a
kodo.kernel.LockManager
to use for acquiring locks on persistent instances
during transactions.
Property name:
kodo.LockTimeout
Configuration API:
kodo.conf.KodoConfiguration.getLockTimeout
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.
Property name:
kodo.Log
Configuration API:
kodo.conf.KodoConfiguration.getLog
Resource adaptor config-property:
Log
Default:
true
Possible values:
kodo
, commons
,
log4j
, none
Description: A plugin
string (see Section 2.5, “Plugin Configuration”)
describing a
com.solarmetric.log.LogFactory
to use for logging. For details on logging,
see Chapter 3, Logging.
Property name:
kodo.ManagedRuntime
Configuration API:
kodo.conf.KodoConfiguration.getManagedRuntime
Resource adaptor config-property:
ManagedRuntime
Default: auto
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.ManagementConfiguration
Configuration API:
kodo.conf.KodoConfiguration.getManagementConfiguration
Resource adaptor config-property:
ManagementConfiguration
Default: none
Description: Allows for configuration of management and profiling capabilities. For more information, see Chapter 12, Management and Monitoring.
Property name:
kodo.Mapping
Configuration API:
kodo.conf.KodoConfiguration.getMapping
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.
Property name:
kodo.MetaDataFactory
Configuration API:
kodo.conf.KodoConfiguration.getMetaDataFactory
Resource adaptor config-property:
MetaDataFactory
Default: jdo
Possible values:
jdo
, jpa
,
kodo3
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.Multithreaded
Configuration API:
kodo.conf.KodoConfiguration.getMultithreaded
Resource adaptor config-property:
Multithreaded
Default: false
Description: Whether persistent instances and Kodo components will be accessed by multiple threads at once.
Property name:
kodo.Optimistic
Configuration API:
kodo.conf.KodoConfiguration.getOptimistic
Resource adaptor config-property:
Optimistic
Default: true
Description: Selects between optimistic and pessimistic (datastore) transactional modes.
Property name:
kodo.OrphanedKeyAction
Configuration API:
kodo.conf.KodoConfiguration.getOrphanedKeyAction
Resource adaptor config-property:
OrphanedKeyAction
Default:
log
Possible values:
log
, exception
,
none
Description: A plugin string
(see Section 2.5, “Plugin Configuration”)
describing a
kodo.event.OrphanedKeyAction
to invoke when Kodo discovers an orphaned datastore key.
See Section 7.11, “Orphaned Keys” for details.
Property name:
kodo.NontransactionalRead
Configuration API:
kodo.conf.KodoConfiguration.getNontransactionalRead
Resource adaptor config-property:
NontransactionalRead
Default: true
Description: Whether the Kodo runtime will allow you to read data outside of a transaction.
Property name:
kodo.NontransactionalWrite
Configuration API:
kodo.conf.KodoConfiguration.getNontransactionalWrite
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.
Property name:
kodo.PersistenceServer
Configuration API:
kodo.conf.KodoConfiguration.getPersistenceServer
Resource adaptor config-property:
PersistenceServer
Default: false
Description: A plugin string (see Section 2.5, “Plugin Configuration”) describing whether and how to service remote clients with this factory. See Section 11.2, “Remote Managers” for details.
Property name:
kodo.ProxyManager
Configuration API:
kodo.conf.KodoConfiguration.getProxyManager
Resource adaptor config-property:
ProxyManager
Default: default
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.QueryCache
Configuration API:
kodo.conf.KodoConfiguration.getQueryCache
Resource adaptor config-property:
QueryCache
Default: true
,
when the data cache (see Section 2.7.26, “kodo.DataCache”) is
also enabled, false
otherwise.
Description: A plugin string
(see Section 2.5, “Plugin Configuration”) describing the
kodo.datacache.QueryCache
implementation to use for caching of queries loaded from the data
store. See Section 10.1.3, “Query Cache” for details.
Property name:
kodo.QueryCompilationCache
Configuration API:
kodo.conf.KodoConfiguration.getQueryCompilationCache
Resource adaptor config-property:
QueryCompilationCache
Default: true
.
Description: A plugin
string (see Section 2.5, “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.
Property name:
kodo.ReadLockLevel
Configuration API:
kodo.conf.KodoConfiguration.getReadLockLevel
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.
Property name:
kodo.RemoteCommitProvider
Configuration API:
kodo.conf.KodoConfiguration.getRemoteCommitProvider
Resource adaptor config-property:
RemoteCommitProvider
Default: -
Description: A plugin string
(see Section 2.5, “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.
Property name:
kodo.RestoreState
Configuration API:
kodo.conf.KodoConfiguration.getRestoreState
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.
Property name:
kodo.RetainState
Configuration API:
kodo.conf.KodoConfiguration.getRetainState
Resource adaptor config-property:
RetainState
Default: true
Description: Whether persistent fields retain their values on transaction commit.
Property name:
kodo.RetryClassRegistration
Configuration API:
kodo.conf.KodoConfiguration.getRetryClassRegistration
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.
Property name:
kodo.SavepointManager
Configuration API: kodo.conf.KodoConfiguration.getSavepointManager
Resource adaptor config-property: SavepointManager
Default:
in-mem
Possible values:
in-mem
, jdbc
,
oracle
Description: A plugin string
(see Section 2.5, “Plugin Configuration”) describing a
kodo.kernel.SavepointManager
to use for managing transaction savepoints. See Section 9.5, “Savepoints” for details.
Property name:
kodo.Sequence
Configuration API:
kodo.conf.KodoConfiguration.getSequence
Resource adaptor config-property:
Sequence
Default: table
Description: A plugin string
(see Section 2.5, “Plugin Configuration”) describing the
kodo.kernel.Seq
implementation to use for the
system sequence. See Section 9.7, “Generators” for
more information.
Property name:
kodo.TransactionMode
Configuration API:
kodo.conf.KodoConfiguration.getTransactionMode
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.
Property name:
kodo.WriteLockLevel
Configuration API:
kodo.conf.KodoConfiguration.getWriteLockLevel
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.
![]() ![]() |