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
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.