You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2004/08/19 11:59:08 UTC

svn commit: rev 36605 - cocoon/trunk/src/blocks/ojb/conf

Author: antonio
Date: Thu Aug 19 02:59:08 2004
New Revision: 36605

Modified:
   cocoon/trunk/src/blocks/ojb/conf/OJB.properties
Log:
Partially fixing bug 30065

Modified: cocoon/trunk/src/blocks/ojb/conf/OJB.properties
==============================================================================
--- cocoon/trunk/src/blocks/ojb/conf/OJB.properties	(original)
+++ cocoon/trunk/src/blocks/ojb/conf/OJB.properties	Thu Aug 19 02:59:08 2004
@@ -1,23 +1,24 @@
+#<!--
+#/* Copyright 2002-2004 The Apache Software Foundation
+# *
+# * Licensed under the Apache License, Version 2.0 (the "License");
+# * you may not use this file except in compliance with the License.
+# * You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+#-->
 # OJB.properties -- configuration of the OJB runtime environment
-
-# Copyright 1999-2004 The Apache Software Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
 # Version: 1.0
 # (c) 2001, 2002, 2003 Apache Software Foundation
 # Author: Thomas Mahler and many others
-# @version $Id: OJB.properties,v 1.2 2004/03/06 06:16:50 antonio Exp $
+# @version $Id: OJB.properties,v 1.75 2004/06/27 23:36:23 arminw Exp $
 #
 #----------------------------------------------------------------------------------------
 # repository file settings
@@ -47,6 +48,11 @@
 # The PersistenceBrokerFactoryClass entry decides which concrete
 # PersistenceBrokerFactory implemention is to be used.
 PersistenceBrokerFactoryClass=org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl
+# If in managed environment *only* the PB-api was used it's recommended to use this factory
+# to enable the PersistenceBroker instances to participate in the JTA transaction. This makes
+# 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.
@@ -57,9 +63,8 @@
 # Using this implementation OJB works as a simple OODBMS
 #PersistenceBrokerClass=org.apache.ojb.broker.prevayler.PBPrevaylerImpl
 #
-#
 #----------------------------------------------------------------------------------------
-# PersistenceBrokerFactory pool
+# PersistenceBroker pool
 #----------------------------------------------------------------------------------------
 # PersistenceBroker pool configuration
 # This pool uses the jakarta-commons-pool api.
@@ -150,13 +155,36 @@
 #
 #
 #----------------------------------------------------------------------------------------
-# CollectionProxy class
+# IndirectionHandler
+#----------------------------------------------------------------------------------------
+# The IndirectionHandlerClass entry defines the class to be used by OJB's proxies to
+# handle method invocations
+#
+IndirectionHandlerClass=org.apache.ojb.broker.core.proxy.IndirectionHandlerDefaultImpl
+#
+#----------------------------------------------------------------------------------------
+# ListProxy
+#----------------------------------------------------------------------------------------
+# The ListProxyClass entry defines the proxy class to be used for collections that
+# implement the java.util.List interface.
+#
+ListProxyClass=org.apache.ojb.broker.core.proxy.ListProxyDefaultImpl
+#
+#----------------------------------------------------------------------------------------
+# SetProxy
 #----------------------------------------------------------------------------------------
-# The optional CollectionProxy entry defines the class to be used for CollectionProxies
-# if this entry is null org.apache.ojb.broker.accesslayer.ListProxy is used for Lists
-# and org.apache.ojb.broker.accesslayer.CollectionProxy for Collections
+# The SetProxyClass entry defines the proxy class to be used for collections that
+# implement the java.util.Set interface.
 #
-#CollectionProxyClass=
+SetProxyClass=org.apache.ojb.broker.core.proxy.SetProxyDefaultImpl
+#
+#----------------------------------------------------------------------------------------
+# CollectionProxy
+#----------------------------------------------------------------------------------------
+# The CollectionProxyClass entry defines the proxy class to be used for collections that
+# do not implement java.util.List or java.util.Set.
+#
+CollectionProxyClass=org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl
 #
 #----------------------------------------------------------------------------------------
 # StatementManager
@@ -181,6 +209,13 @@
 #
 #
 #----------------------------------------------------------------------------------------
+# RowReader
+#----------------------------------------------------------------------------------------
+# Set the standard RowReader implementation. It is also possible to specify the
+# RowReader on class-descriptor level.
+RowReaderDefaultClass=org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl
+#
+#----------------------------------------------------------------------------------------
 # Object cache
 #----------------------------------------------------------------------------------------
 # The ObjectCacheClass entry tells OJB which concrete ObjectCache
@@ -229,12 +264,16 @@
 # The LockMapClass entry tells OJB which concrete LockMap
 # implementation is to be used.
 # If OJB is running on multiple concurrent clients it is recommended
-# to use the PersistentLockMapImpl. It guarantees to provide
-# Lockamanagement across multiple JVMs.
+# to use the RemoteLockMapImpl. It guarantees to provide
+# Lockmanagement across multiple JVMs.
+# This Implemenation relies on a Servlet based Lockserver. To use it you have to
+# deploy the ojb-lockserver.war into a Servlet engine.
+# and you have to set the Property LockServletUrl to point to this servlet.
+# (see LockServletUrl section below).
 # If OJB is running in a single JVM (e.g. in a desktop app, or in a servlet
 # engine) it is save to use the InMemoryLockMapImpl. Using it will result
 # in a large performance gain.
-# LockMapClass=org.apache.ojb.odmg.locking.PersistentLockMapImpl
+#LockMapClass=org.apache.ojb.odmg.locking.RemoteLockMapImpl
 LockMapClass=org.apache.ojb.odmg.locking.InMemoryLockMapImpl
 #
 # The LockTimeout entry defines the maximum time in milliseconds
@@ -251,6 +290,13 @@
 ImplicitLocking=true
 #ImplicitLocking=false
 #
+#
+# The LockServletUrl entry points to the Lockserver servlet.
+# This Servlet is addressed by all distributed JVMs if the RemoteLockMapImpl
+# is used.
+LockServletUrl=http://127.0.0.1:8080/ojb-lockserver
+#
+#
 # The LockAssociations entry defines the behaviour for the OJB
 # implicit locking feature. If set to WRITE (default) acquiring a write-
 # lock on a given object x implies write locks on all objects associated
@@ -262,67 +308,6 @@
 #
 #
 #----------------------------------------------------------------------------------------
-# Logging
-#----------------------------------------------------------------------------------------
-# The LoggerClass entry tells OJB which concrete Logger
-# implementation is to be used.
-#
-# Commons-logging
-#LoggerClass=org.apache.ojb.broker.util.logging.CommonsLoggerImpl
-# log4j based logging
-#LoggerClass=org.apache.ojb.broker.util.logging.Log4jLoggerImpl
-# OJB's own simple looging support
-LoggerClass=org.apache.ojb.broker.util.logging.PoorMansLoggerImpl
-LoggerConfigFile=log4j.properties
-#
-# The LogLevel entries tells OJB which LogLevels are active
-# for the different loggers used within OJB
-# Loglevels: DEBUG < INFO < WARN < ERROR < FATAL
-# That is loglevel WARN won't log DEBUG and INFO messages,
-# but will log WARN, ERROR, and FATAL messages
-#
-# Global default log level used for all logging
-# entities if not specified
-ROOT.LogLevel=ERROR
-#
-# The Default Logger instance used within OJB
-DEFAULT.LogLevel=WARN
-# Logger for PersistenceBrokerImpl class
-org.apache.ojb.broker.core.PersistenceBrokerImpl.LogLevel=WARN
-# Logger for PersistenceBrokerFactory class PersistenceBrokerFactoryDefaultImpl
-org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.LogLevel=WARN
-# Logger for RepositoryXmlHandler, useful for debugging parsing of repository.xml!
-org.apache.ojb.broker.metadata.RepositoryXmlHandler.LogLevel=WARN
-# Logger for JdbcAccess, useful for debugging JDBC related problems
-org.apache.ojb.broker.accesslayer.JdbcAccessImpl.LogLevel=WARN
-# Logger for RsIterator, useful for debugging problems with Object materialization
-org.apache.ojb.broker.accesslayer.RsIterator.LogLevel=WARN
-# Logger for StatementsForClass, useful for debugging JDBC Connection related problems
-org.apache.ojb.broker.accesslayer.StatementsForClassImpl.LogLevel=WARN
-# Logger for SqlGenerator, useful for debugging generation of SQL
-org.apache.ojb.broker.accesslayer.sql.SqlGeneratorDefaultImpl.LogLevel=WARN
-# Logger for RepositoryPersistor
-org.apache.ojb.broker.metadata.RepositoryPersistor.LogLevel=WARN
-# Logger for ConnectionFactory base class
-org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.LogLevel=WARN
-# Logger for ConnectionManager
-org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.LogLevel=WARN
-#
-# Special Logger categories used in test suite and tutorials
-#
-# Logger for the ODMG Implementation
-ODMG.LogLevel=WARN
-# Logger for the JDO RI Implementation
-JDO.LogLevel=DEBUG
-# Logger for the performance tests
-performance.LogLevel=INFO
-# Logger for the soda api
-soda.LogLevel=WARN
-# Logger for the factory service
-ConfigurableFactory.LogLevel=WARN
-#
-#
-#----------------------------------------------------------------------------------------
 # OQL / SQL settings
 #----------------------------------------------------------------------------------------
 # The OqlCollectionClass entry defines the collection type returned
@@ -346,6 +331,24 @@
 #----------------------------------------------------------------------------------------
 # ODMG settings
 #----------------------------------------------------------------------------------------
+# Specify the used base class for ODMG API
+# - ImplementationDefaultImpl is the default class
+# - ImplementationJTAImpl is for use in managed environments like J2EE conform
+# Application Server
+#
+ImplementationClass=org.apache.ojb.odmg.ImplementationImpl
+#ImplementationClass=org.apache.ojb.odmg.ImplementationJTAImpl
+#
+#
+# Specify the used tx handling.
+# - LocalTxManager use if you want the transaction to be associated by a thread
+# - JTATxManager use if you want the transaction to be associated via the Transaction
+# manager that is in your application server.
+#
+OJBTxManagerClass=org.apache.ojb.odmg.LocalTxManager
+#OJBTxManagerClass=org.apache.ojb.odmg.JTATxManager
+#
+#
 # Used ODMG collection implementation classes
 # (e.g. when do a Implementation#newDlist() call)
 #
@@ -383,7 +386,7 @@
 #   and don't have to be declared public or protected
 # - PersistentFieldPrivilegedImpl
 #   Same as above, but does cooperate with AccessController and do not
-#   suppress the java language access check.
+#   suppress the java language access check (but is slow compared with direct access).
 # - PersistentFieldIntrospectorImpl
 #   uses JavaBeans compliant calls only to access persistent attributes.
 #   No Reflection is needed. But for each attribute xxx there must be
@@ -391,12 +394,25 @@
 # - PersistentFieldDynaBeanAccessImpl
 #   implementation used to access a property from a
 #   org.apache.commons.beanutils.DynaBean.
+# - PersistentFieldAutoProxyImpl
+#   for each field determines upon first access how to access this particular field
+#   (directly, as a bean, as a dyna bean) and then uses that strategy
 #
-PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImpl
 #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImpl
 #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImpl
 #PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanAccessImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl
 #
+# Here are the new upcoming PersistentField implementations. These classes will replace the
+# 'old' ones on next release. They pass the test-suite, but should be tested by community too.
+# The new implementations are about 50 times faster in handling nested fields.
+PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDirectAccessImplNew
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldPrivilegedImplNew
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldIntrospectorImplNew
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldAutoProxyImpl
+#PersistentFieldClass=org.apache.ojb.broker.metadata.fieldaccess.PersistentFieldDynaBeanImplNew
+#(DynaBean implementation does not support nested fields)
 #
 #----------------------------------------------------------------------------------------
 # Component Intercepting for Profiling and Tracing
@@ -411,12 +427,8 @@
 #----------------------------------------------------------------------------------------
 # Transaction Management and assocation
 #----------------------------------------------------------------------------------------
-# Use the LocalTxManager if you want the transaction to be associated by a thread
-OJBTxManagerClass=org.apache.ojb.odmg.LocalTxManager
-# Use the JTATxManager if you want the transaction to be associated via the Transaction
-# manager that is in your application server.
-#OJBTxManagerClass=org.apache.ojb.odmg.JTATxManager
-#
+# (optional, only used when OJB runs within managed environments)
+# To praticipate in JTA transaction OJB needs access to the underlying transaction manager.
 # The TransactionManager is acquired in different ways dependent on the application server.
 # The JTATransactionManagerClass property allows you to specify the class that implements
 # the proper behaviour for finding the transaction manager. Only use when OJBTxManagerClass
@@ -424,14 +436,22 @@
 # (org.apache.ojb.odmg.JTATxManager)
 #
 # JBoss Transaction Manager Factory
-JTATransactionManagerClass=org.apache.ojb.odmg.transaction.JBossTransactionManagerFactory
+JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JBossTransactionManagerFactory
 # Weblogic Transaction Manager Factory
-#JTATransactionManagerClass=org.apache.ojb.odmg.transaction.WeblogicTransactionManagerFactory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WeblogicTransactionManagerFactory
 # WebSphere transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.odmg.transaction.WebSphereTransactionManagerFactory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.WebSphereTransactionManagerFactory
 # Orion transaction manager factory
-#JTATransactionManagerClass=org.apache.ojb.odmg.transaction.OrionTransactionManagerFactory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.OrionTransactionManagerFactory
+# SunOne transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.SunOneTransactionManagerFactory
+# JOnAs transaction manager factory
+#JTATransactionManagerClass=org.apache.ojb.broker.transaction.tm.JOnASTransactionManagerFactory
+#
 #
 #----------------------------------------------------------------------------------------
+# Logging settings are now in their own file, OJB-logging.properties
+#----------------------------------------------------------------------------------------
+#----------------------------------------------------------------------------------------
 # End of OJB.properties file
-#----------------------------------------------------------------------------------------
\ No newline at end of file
+#----------------------------------------------------------------------------------------