Author: arminw Date: Mon Nov 13 15:27:20 2006 New Revision: 474569 URL: http://svn.apache.org/viewvc?view=rev&rev=474569 Log: add new odmg-api property
Modified: db/ojb/trunk/src/test/org/apache/ojb/OJB.properties Modified: db/ojb/trunk/src/test/org/apache/ojb/OJB.properties URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/test/org/apache/ojb/OJB.properties?view=diff&rev=474569&r1=474568&r2=474569 ============================================================================== --- db/ojb/trunk/src/test/org/apache/ojb/OJB.properties (original) +++ db/ojb/trunk/src/test/org/apache/ojb/OJB.properties Mon Nov 13 15:27:20 2006 @@ -31,23 +31,19 @@ # e.g. PBStateListener work properly in managed environments. #PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactorySyncImpl # -# # The PersistenceBrokerClass entry decides which concrete PersistenceBroker # implementation is to be served by the PersistenceBrokerFactory. # This is the singlevm implementation: PersistenceBrokerClass=org.apache.ojb.broker.core.PersistenceBrokerImpl # -# This is an implementation that uses Prevayler (prevayler.sf.net) as the persistent storage. -# Using this implementation OJB works as a simple OODBMS -#PersistenceBrokerClass=org.apache.ojb.broker.prevayler.PBPrevaylerImpl -# # # This setting can be helpful during development if the PersistenceBroker transaction # demarcation was used (this is true in most cases). If set 'true' on PB#store(...) # and PB#delete(...) methods calls OJB check for active PB-tx and if no active tx is # found a error is logged. This can help to avoid store/delete calls without a running # PB-tx while development. Default setting is 'false'. (Note: When using OJB in a managed -# environment *without* OJB-caching, it's valid to use store/delete calls without a running PB-tx) +# environment *without* OJB-caching, it's valid to use store/delete calls without a running +# PB-tx - if the used PB instance is immediately closed after use) TxCheck=false # # This setting can be helpful during development to detect PersistenceBroker leaks @@ -109,8 +105,8 @@ # # NOTE: The appropriate cooresponding IndirectionHandler must be choosen as well # -ProxyFactoryClass=org.apache.ojb.broker.core.proxy.ProxyFactoryCGLIBImpl -#ProxyFactoryClass=org.apache.ojb.broker.core.proxy.ProxyFactoryJDKImpl +#ProxyFactoryClass=org.apache.ojb.broker.core.proxy.ProxyFactoryCGLIBImpl +ProxyFactoryClass=org.apache.ojb.broker.core.proxy.ProxyFactoryJDKImpl # # The optional IndirectionHandlerClass entry defines the class to be used by OJB's proxies to # handle method invocations. The IndirectionHandler implementation must match the implementation @@ -119,8 +115,8 @@ # If this setting is unspecifies, then the default IndirectionHandler for the specified ProxyFactory # will be used. # -IndirectionHandlerClass=org.apache.ojb.broker.core.proxy.IndirectionHandlerCGLIBImpl -#IndirectionHandlerClass=org.apache.ojb.broker.core.proxy.IndirectionHandlerJDKImpl +#IndirectionHandlerClass=org.apache.ojb.broker.core.proxy.IndirectionHandlerCGLIBImpl +IndirectionHandlerClass=org.apache.ojb.broker.core.proxy.IndirectionHandlerJDKImpl # #---------------------------------------------------------------------------------------- # ListProxy @@ -194,16 +190,15 @@ # By default the best performing attribute/refection based implementation # is selected (PersistentFieldDirectAccessImpl). # -# - PersistentFieldCGLibImpl -# A very fast beans compliant (getter/setter access based) PersistentField -# implementation (it's three times faster than the direct field access via reflection). -# Needs public getter/setter for all declared fields. # - PersistentFieldDirectImpl # is a high-speed version of the access strategies. # It does not cooperate with an AccessController, # but accesses the fields directly. Persistent # attributes don't need getters and setters # and don't have to be declared public or protected +# - PersistentFieldCGLibImpl +# A very fast beans compliant (getter/setter access based) PersistentField +# implementation. Needs public getter/setter for all declared fields. # - PersistentFieldAutoProxyImpl # for each field determines upon first access how to access this particular field # (cglib based, directly, as a bean, as a dyna bean) and then uses that strategy. @@ -221,8 +216,8 @@ # org.apache.commons.beanutils.DynaBean. # (Note: DynaBean implementation does not support nested fields) # -PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl -#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl +PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectImpl +#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldCGLibImpl #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl @@ -301,7 +296,6 @@ #---------------------------------------------------------------------------------------- # The repositoryFile entry tells OJB to use this file as as its standard mapping # repository. First OJB lookup the file as resource from classpath, second as ordinary file. -# repositoryFile=repository.xml # # If the useSerializedRepository entry is set to true, OJB tries to load a @@ -333,13 +327,6 @@ # # #---------------------------------------------------------------------------------------- -# CollectionFactory -#---------------------------------------------------------------------------------------- -# The CollectionFactory entry defines the collection factory implemementation to be used -CollectionFactoryClass=org.apache.ojb.broker.accesslayer.CollectionFactoryDefaultImpl -# -# -#---------------------------------------------------------------------------------------- # StatementManager #---------------------------------------------------------------------------------------- # The StatementManagerClass entry defines the StatementManager implemementation to be used @@ -347,17 +334,17 @@ # # #---------------------------------------------------------------------------------------- -# JdbcAccess +# BatchManager #---------------------------------------------------------------------------------------- -# The JdbcAccessClass entry defines the JdbcAccess implemementation to be used -JdbcAccessClass=org.apache.ojb.broker.accesslayer.JdbcAccessImpl +# The BatchManagerClass entry defines the BatchManager implemementation to be used +BatchManagerClass=org.apache.ojb.broker.accesslayer.batch.BatchManagerImpl # # #---------------------------------------------------------------------------------------- -# BatchManager +# JdbcAccess #---------------------------------------------------------------------------------------- -# The BatchManagerClass entry defines the BatchManager implemementation to be used -BatchManagerClass=org.apache.ojb.broker.accesslayer.batch.BatchManagerImpl +# The JdbcAccessClass entry defines the JdbcAccess implemementation to be used +JdbcAccessClass=org.apache.ojb.broker.accesslayer.JdbcAccessImpl # # #---------------------------------------------------------------------------------------- @@ -377,6 +364,14 @@ # # #---------------------------------------------------------------------------------------- +# OQL / SQL settings +#---------------------------------------------------------------------------------------- +# The SqlInLimit entry limits the number of values in IN-sql statement, +# -1 for no limits. This hint is used in Criteria. +SqlInLimit=200 +# +# +#---------------------------------------------------------------------------------------- # ObjectFactory #---------------------------------------------------------------------------------------- # Specify implementation class for object factory used to instantiate persistent objects. @@ -396,28 +391,6 @@ # # #---------------------------------------------------------------------------------------- -# OQL / SQL settings -#---------------------------------------------------------------------------------------- -# The OqlCollectionClass entry defines the collection type returned -# from OQL queries. By default this value is set to a List. -# This will be good for most situations. If you need the additional features of -# DList (DList itself is persistable, support of predicate) comment in the DList -# implementation. See also section 'ODMG settings' (DListClass entry). -# Using DLists for large resultsets may be bad for application performance. -# For these scenarios you can use ArrayLists or Vectors. -# Important note: the collections class to be used MUST implement the -# interface 'org.apache.ojb.broker.ManageableCollection'. -# -OqlCollectionClass=org.apache.ojb.broker.util.collections.ManageableArrayList -# OqlCollectionClass=org.apache.ojb.odmg.collections.DListImpl -# OqlCollectionClass=org.apache.ojb.broker.util.collections.ManageableVector -# -# The SqlInLimit entry limits the number of values in IN-sql statement, -# -1 for no limits. This hint is used in Criteria. -SqlInLimit=200 -# -# -#---------------------------------------------------------------------------------------- # ODMG-api settings #---------------------------------------------------------------------------------------- # Specify the used base class for ODMG API @@ -466,6 +439,26 @@ # This setting can be changed at runtime using OJB's ODMG extensions. Ordering=true # +# If set 'true' an optimized and performant way is used to detect the +# state (persistent/transient) of an object. +# The detection of transient objects could be costly (e.g. if a +# select of ID in database is used to check if object already +# exists) we do: +# a. +# Check if the object Identity mark the specified object as transient. +# If this is 'false' the object has populated primary key fields, +# if 'true' at least one PK field is <em>null</em> +# and the object is transient. +# b. +# Then we check if the object was already registered in current transaction. +# if 'true' we can ask for transient state. +# c. +# If the primary key fields are defined/mapped as 'autoIncrement' fields and +# 'optimizedTransientObjectDetection' is enabled OJB assume that the object +# is persistent. If the PK fields are not 'autoIncrement' fields or the +# optimized detection is disabled a database "exists object"-query is +# performed to check if the object is persistent or transient. +OptimizedTransientObjectDetection=true # # # Set the specific odmg-LockManager used in ODMG implementation --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]