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]

Reply via email to