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]