You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by ar...@apache.org on 2007/03/31 01:08:37 UTC
svn commit: r524312 [2/2] - /db/ojb/trunk/src/config/
Added: db/ojb/trunk/src/config/repository.dtd
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository.dtd?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository.dtd (added)
+++ db/ojb/trunk/src/config/repository.dtd Fri Mar 30 16:08:35 2007
@@ -0,0 +1,1061 @@
+<!-- @version $Id: $ -->
+<!--
+#/* Copyright 2004 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.
+# */
+-->
+<!--
+ ObJectRelationalBridge - Bridging Java objects and relational dabatases
+ This DTD describes the grammar of the Descriptor repository
+ -->
+
+<!--
+ The descriptor-repository is the root element of a repository.xml file.
+ It consists of one jdbc-connection-descriptor and at least one
+ class-descriptor element.
+
+ The attribute element allows to add custom attributes.
+
+ The jdbc-connection-descriptor element specifies the default jdbc
+ connection for the repository.
+
+ class-descriptor elements specify o/r mapping information for
+ persistent classes.
+ -->
+<!ELEMENT descriptor-repository (documentation?, attribute*,
+ jdbc-connection-descriptor*, class-descriptor*)>
+
+<!--
+ The version attribute is used to bind a repository.xml
+ file to a given version of this dtd. This will help to
+ avoid versions conflicts.
+
+ The isolation-level attribute defines the default locking isolation level used
+ by OJB's pessimistic locking api. All jdbc-connection-descriptor or class-descriptor
+ that do not define a specific isolation level will use this.
+ Note: This does NOT touch the jdbc-level of the connection.
+
+ The state-detection attribute is used by API's supporting automatic state detection
+ of persistence capable objects. The attribute indicate whether or not mapped classes should
+ be included in object state detection (automatic detection of changed object fields).
+ -->
+<!ATTLIST descriptor-repository
+ version (1.1) #REQUIRED
+ isolation-level (read-uncommitted | read-committed | repeatable-read |
+ serializable | optimistic | none) "read-uncommitted"
+ proxy-prefetching-limit CDATA "50"
+ state-detection (true | false) "true"
+>
+
+<!--
+ The documentation element can be used to store arbitrary
+ information on all repository entries.
+-->
+<!ELEMENT documentation (#PCDATA)>
+
+<!--
+ The attribute element allows to add custom attributes.
+
+ The jdbc-connection-descriptor element specifies the a jdbc
+ connection for the repository.
+
+ The object-cache element specifies the object-cache implementation
+ class associated with this class.
+
+ A connection-factory element may be used to define connection pool
+ properties for the specified JDBC connection.
+
+ A sequence-manager element may be used to
+ define which sequence manager implementation should be used within
+ the defined connection.
+ -->
+<!ELEMENT jdbc-connection-descriptor (documentation?, connection-factory?,
+ batch?, object-cache?, sequence-manager?, attribute*)>
+
+<!--
+ The jcdAlias attribute is a shortcut name for the defined connection
+ descriptor. OJB use jcdAlias as key for the defined connections.
+
+ The default-connection attribute used to define if this connection
+ should used as default connection with OJB. You could define only
+ one connection as default connection. It is also possible to set
+ the default connection at runtime using
+ PersistenceBrokerFactory#setDefaultKey(...) method.
+ If set to 'true' you can use on PB-api a shortcut-method of the
+ PersistenceBrokerFactory to lookup a PersistenceBroker instances.
+
+ The platform attribute is used to define the specific RDBMS
+ Platform. This attribute corresponds to a
+ org.apache.ojb.broker.platforms.PlatformXXXImpl class.
+
+ The jdbc-level attribute is used to specify the Jdbc compliance
+ level of the used Jdbc driver.
+
+ The batch-mode attribute allow to enable JDBC connection batch support
+ (if supported by used database), 'true' value allows to enable per-session
+ batch mode, whereas 'false' prohibits it.
+ PB.serviceConnectionManager.setBatchMode(...) method can be used
+ to switch on/off batch modus, if batch-mode was enabled. On PB.close()
+ OJB switch off batch modus, thus you have to do '...setBatchMode(true)' on each
+ obtained PB instance.
+
+ The useAutoCommit attribute allow to set how OJB uses
+ the autoCommit state of the used connections. The default mode
+ was 1.
+ 0 - OJB ignores the autoCommit setting of the connection and do not
+ try to change it. This mode could be helpfully if the
+ connection don't let you set the autoCommit state
+ (e.g. using datasources from application server).
+ 1 - [default mode] set the connection's autoCommit state temporary to 'false' if needed
+ (when using transaction) and restore the old state after use. In
+ versions before OJB 1.0.4 the autoCommit state was explicit set 'true'
+ when connection was created, now OJB expect that this was done by
+ the jdbc-driver configuration. To enable old behavior set a custom attribute
+ 'initializationCheck' to 'true'.
+ 2 - this setting set autoCommit explicit 'false' when connection was created.
+
+ If the ignoreAutoCommitExceptions attribute is set 'true', all
+ exceptions caused by setting autocommit state, will be ignored.
+ Default mode 'false'.
+
+ If a jndi-datasource-name for JNDI based lookup of Jdbc
+ connections is specified, the four attributes driver, protocol,
+ subprotocol, dbalias used for Jdbc DriverManager based construction
+ of Jdbc Connections must not be declared.
+
+ The username and password attributes are used as credentials
+ for obtaining a jdbc connections.
+ If users don't want to keep this information the
+ repository.xml file, they could pass user/password
+ using PBKey.java to obtain a PersistenceBroker
+ -->
+<!ATTLIST jdbc-connection-descriptor
+ jcd-alias CDATA #REQUIRED
+ default-connection (true | false) "false"
+ platform (Db2 | Hsqldb | Informix | MsAccess | MsSQLServer |
+ MySQL | Oracle | PostgreSQL | Sybase | SybaseASE |
+ SybaseASA | Sapdb | Firebird | Axion |
+ Oracle9i | MaxDB | Derby) "Hsqldb"
+ jdbc-level (1.0 | 2.0 | 3.0) "2.0"
+ batch-mode (true | false) "false"
+ useAutoCommit (0 | 1 | 2) "1"
+ ignoreAutoCommitExceptions (true | false) "false"
+
+ jndi-datasource-name CDATA #IMPLIED
+
+ driver CDATA #IMPLIED
+ protocol CDATA #IMPLIED
+ subprotocol CDATA #IMPLIED
+ dbalias CDATA #IMPLIED
+
+ username CDATA #IMPLIED
+ password CDATA #IMPLIED
+>
+
+
+<!--
+ The object-cache element can be used to specify the ObjectCache
+ implementation used by OJB. There are three levels of
+ declaration:
+ 1. in OJB.properties file, to declare the standard (default)
+ ObjectCache implementation.
+ 2. on jdbc-connection-descriptor level, to declare ObjectCache implementation
+ on a per connection/user level
+ 3. on class-descriptor level, to declare ObjectCache implementation
+ on a per class level
+
+ The priority of the declared object-cache elements are:
+ per class > per jdbc descriptor > standard
+
+ E.g. if you declare ObjectCache 'cacheDef' as standard, set
+ ObjectCache 'cacheA' in class-descriptor for class A and class B
+ does not declare an object-cache element. Then OJB use cacheA as ObjectCache
+ for class A and cacheDef for class B
+-->
+<!ELEMENT object-cache (documentation?, attribute*)>
+
+<!--
+ Attribute 'class' specifies the full qualified class name of
+ the used ObjectCache implementation.
+-->
+<!ATTLIST object-cache
+ class CDATA #IMPLIED
+ strategy CDATA #IMPLIED
+ timeout CDATA #IMPLIED
+>
+
+<!--
+ The batch element specifies the used batch manger and -strategy.
+-->
+<!ELEMENT batch (documentation?, attribute*)>
+
+<!--
+ The 'class' attribute specifies the full qualified class name of
+ the used BatchManager implementation.
+
+ The 'strategy' attribute specifies the full qualified class name of
+ the used BatchStrategy implementation.
+
+ The 'limit' attribute specifies the maximum allowed number of
+ batch entries. If the maximum is reached all batch statements
+ will be executed.
+
+ The 'validator' attribute specifies the class used to validate
+ the batch statement execution return value array.
+-->
+<!ATTLIST batch
+ class CDATA #IMPLIED
+ strategy CDATA #IMPLIED
+ limit CDATA #IMPLIED
+ validator CDATA #IMPLIED
+>
+
+<!--
+ The connection-factory element specifies the connection factory used
+ to manage the connections.
+-->
+<!ELEMENT connection-factory (documentation?, attribute*)>
+
+
+<!--
+ The 'class' attribute specifies the full qualified class name of
+ the used ConnectionFactory implementation.
+
+ validationQuery
+ Here you could specify a validation query used by pool to test a
+ obtained connection (e.g. "select 1 from dual"), else a default query was
+ used - if defined in the platform class for your database.
+-->
+<!ATTLIST connection-factory
+ class CDATA #IMPLIED
+ validationQuery CDATA #IMPLIED
+>
+
+
+
+<!--
+ The sequence-manager element specifies the sequence
+ manager implementation used for key generation. All
+ sequence manager implementations shipped with OJB
+ you will find under org.apache.ojb.broker.util.sequence
+ If no sequence-manager is defined, OJB use a default one.
+ For configuration examples please consult documentation.
+
+ Use the attribute element to pass implementation specific
+ properties. This depends on the used implementation class.
+-->
+<!ELEMENT sequence-manager (documentation?, attribute*)>
+
+<!--
+ The 'class' attribute specifies the full qualified class name
+ of the desired sequence manager implementation - it is mandatory
+ when using the sequence-manager element.
+ All sequence manager implementations you find will under
+ org.apache.ojb.broker.util.sequence package named as SequenceManagerXXXImpl.
+ For configuration examples please consult documentation.
+-->
+<!ATTLIST sequence-manager
+ class CDATA #IMPLIED
+>
+
+
+
+<!--
+ For interfaces or abstract classes a class-descriptor holds a sequence of
+ extent-class elements.
+
+ For concrete classes it must have field-descriptors that describe primitive
+ typed instance variables.
+ References to other persistent entity classes are specified by
+ reference-descriptor elements.
+ Collections or arrays attributes that contain other persistent entity
+ classes are specified by collection-descriptor elements
+
+ Concrete base classes, may specify a sequence of extent-class elements,
+ naming the derived classes.
+
+ A class-descriptor may contain user defined custom attribute elements.
+
+ The insert-procedure, update-procedure and delete-procedure elements
+ identify the procedure/function that is defined in the database which
+ will handle the insertion, update or deletion of an instance of this
+ class. These elements are all optional. If they are absent then basic
+ sql statements (INSERT INTO xxx..., UPDATE xxx, DELETE FROM xxx) will
+ be utilized.
+
+ The select-by-pk-procedure specifies the database procedure to be used
+ when objects of this class shall be retrieved by identity (i.e. by the
+ primary key values). Likewise, the select-by-fk-procedure is used for
+ retrieving objects of this class that based on foreignkey field values
+ in the object. This for instance is the case when fetching the elements
+ of a collection.
+ -->
+<!ELEMENT class-descriptor
+ ((documentation?, object-cache?, extent-class+, attribute*) |
+ (documentation?, object-cache?, extent-class*, creation-descriptor?, discriminator-descriptor?,
+ field-descriptor+, reference-descriptor*, collection-descriptor*,
+ index-descriptor*, insert-procedure?, update-procedure?, delete-procedure?,
+ select-by-pk-procedure?, select-by-fk-procedure?, attribute*))>
+
+
+<!--
+ The class attribute contains the full qualified name of the specified class.
+ As this attribute is of type ID there can only be one class-descriptor per
+ class.
+
+ The isolation-level attribute defines the locking isolation level of the
+ specified class (used by OJB's pessimistic locking api). Use attribute "global"
+ or "empty string ("or skip this attribute) to signal the use of the isolation-level
+ defined on "descriptor-repository" level.
+ Note: This does NOT touch the jdbc-level of the connection.
+
+ If the proxy attribute is set, proxies are used for all loading operations
+ of instances of this class. If set to "dynamic", dynamic proxies are used.
+ If set to another value this value is interpreted as the full-qualified
+ name of the proxy class to use.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, the collections of objects of this class are materialized
+ by groups of the specified size, say when user tries to access the first
+ object of the collection, next proxy-prefetching-limit objects are loaded
+ by one database query.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ The schema attribute may contain the database schema owning the table
+ mapped to this class.
+
+ The table attribute specifies the table name this class is mapped to.
+
+ The row-reader attribute may contain a full qualified class name.
+ This class will be used as the RowReader implementation used to
+ materialize instances of the persistent class.
+
+ The extends attribute is deprecated and will be removed or reintroduced
+ with changed funcitonality in future. DON'T USE IT!
+
+ DEPRECATED. The accept-locks attribute specifies whether implicit locking should
+ propagate to this class. Currently relevant for the ODMG layer only.
+
+ The optional initialization-method specifies a no-argument instance
+ method that is invoked after reading an instance from a database row.
+ It can be used to do initialization and validations.
+
+ The optional factory-class specifies a factory-class that
+ that is to be used instead of a no argument constructor.
+ If the factory-class is specified the factory-method
+ also must be defined.
+ factory-method refers to a static or instance no-argument method
+ of the factory-class class. If the method is not static, then
+ the factory class must have a default or no-arg constructor by
+ which it can be instantiated.
+
+ The refresh attribute can be set to true to force OJB to refresh
+ instances when loaded from cache. It's set to false by default.
+
+ The state-detection attribute is used by API's supporting automatic state detection
+ of persistence capable objects. The attribute indicate whether or not this class should
+ be included in object state detection (automatic detection of changed object fields).
+
+ The field-class attribute can be used to override the <code>PersistentField</code>
+ implementation class.
+
+ The 'batchable' attribute signal whether or not it is allowed to bunch this class
+ in a sql-batch. Note: Be aware of side-effects when mix batchable
+ and non batchable classes, e.g. class non batchable, reference batchable
+ - mixing is not allowed for all sorts of references. A non-batchable object
+ will immediately performed, other objects in batch will stand still.
+ -->
+<!ATTLIST class-descriptor
+ class ID #REQUIRED
+ isolation-level (read-uncommitted | read-committed | repeatable-read |
+ serializable | optimistic | none) #IMPLIED
+ proxy CDATA #IMPLIED
+ proxy-prefetching-limit CDATA #IMPLIED
+ schema CDATA #IMPLIED
+ table CDATA #IMPLIED
+ row-reader CDATA #IMPLIED
+ extends IDREF #IMPLIED
+ accept-locks (true | false) "true"
+ initialization-method CDATA #IMPLIED
+ factory-class CDATA #IMPLIED
+ factory-method CDATA #IMPLIED
+ refresh (true | false) "false"
+ state-detection (true | false) "true"
+ field-class CDATA #IMPLIED
+ batchable (true | false) "true"
+>
+
+
+<!--
+ An extent-class element is used to specify an implementing class or a
+ derived class that belongs to the extent of all instances of the interface
+ or base class.
+ -->
+<!ELEMENT extent-class (documentation?)>
+<!--
+ The class-ref attribute must contain a fully qualified classname.
+ The repository file must contain a class-descriptor for this class.
+ -->
+<!ATTLIST extent-class
+ class-ref IDREF #REQUIRED
+>
+
+<!--
+ Describes how to create instances for the owning class descriptor.
+ -->
+<!ELEMENT creation-descriptor (documentation?, parameter*)>
+<!--
+ The type specifies whether the instances are created via constructors or a factory.
+
+ The factory-class attribute specifies a factory class that that is to be used for creation.
+ This attribute is ignored if the type is 'constructor'.
+
+ If the factory-class is specified, the factory-method attribute also must be defined which
+ specifies the instance or static method for creating the instance. If the method is a
+ non-static method, then the factory class must be creatable via a no-args or default constructor.
+ -->
+<!ATTLIST creation-descriptor
+ type (constructor | factory) #REQUIRED
+ factory-class CDATA #IMPLIED
+ factory-method CDATA #IMPLIED
+>
+
+<!--
+ Specifies a parameter for the constructor/factory method. Such a parameter either
+ refers to a field whose value is used as the argument, or a constant value which
+ must be convertible to the type of the parameter.
+ -->
+<!ELEMENT parameter EMPTY>
+<!--
+ field-ref specifies the field in the owning class descriptor that gives the value.
+
+ value specifies the constant value to be used as the argument.
+
+ type allows to specify the parameter type which helps OJB in determining the
+ constructor/method. For primitive types, simply state the type, eg. int or char[].
+ For reference type, specify the fully qualified type name, for instance
+ java.lang.Object or java.lang.String[][].
+ -->
+<!ATTLIST parameter
+ field-ref CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type CDATA #IMPLIED
+>
+
+<!--
+ The discriminator is used to discriminate the classes when multiple classes
+ are mapped to the same table.
+ -->
+<!ELEMENT discriminator-descriptor (documentation?, attribute*)>
+<!--
+ The optional value attribute may be used to set a discriminator ie. 'my_class_a'.
+ The default for this attribute is the name of the class taken
+ from the class-descriptor ie 'com.myself.MyClassMappedToA'.
+ -->
+<!ATTLIST discriminator-descriptor
+ column CDATA #REQUIRED
+ jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
+ FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
+ LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
+ VARBINARY | LONGVARBINARY | CLOB | BLOB | STRUCT |
+ ARRAY | REF | BOOLEAN | DATALINK) #IMPLIED
+ value CDATA #IMPLIED
+ primarykey (true | false) "false"
+>
+
+<!--
+ A field descriptor contains mapping info for a primitive typed
+ attribute of a persistent class.
+
+ A field descriptor may contain a sequence-manager element to define
+ a specific sequence-manager only used by this field. If not set the
+ sequence-manager defined in the jdbc-connection-descriptor is used.
+
+ A field descriptor may contain custom attribute elements.
+ -->
+<!ELEMENT field-descriptor (documentation?, sequence-manager?, attribute*)>
+<!--
+ <b>The id attribute is optional.</b> If not specified, OJB internally
+ sorts field-descriptors according to their order of appearance in the
+ repository file.
+ If a different sort order is intended the id attribute may be used to
+ hold a unique number identifying the decriptors position in the sequence of
+ field-descriptors.
+ The order of the numbers for the field-descriptors must correspond to
+ the order of columns in the mapped table.
+
+ The name attribute holds the name of the persistent classes attribute.
+ If the PersistentFieldDefaultImpl is used there must be an attribute
+ in the persistent class with this name.
+ If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+ compliant property of this name.
+
+ The table attribute may specify a table different from the mapped
+ table for the persistent class. (currently not implemented).
+
+ The column attribute specifies the column the persistent classes field
+ is mapped to.
+
+ The optional jdbc-type attribute specifies the JDBC type of the column.
+ If not specified OJB tries to identify the JDBC type by inspecting the
+ Java attribute by reflection.
+
+ The primarykey specifies if the column is a primary key column.
+
+ The nullable attribute specifies if the column may contain null values.
+
+ The indexed attribute specifies if there is an index on this column
+
+ The autoincrement attribute specifies if the values for the persistent
+ attribute are automatically generated by OJB.
+
+ The sequence-name attribute can be used to state explicitly a sequence
+ name used by the sequence manager implementations. Check the docs/javadocs
+ of the used sequence manager implementation to get information if this
+ is a mandatory attribute. OJB standard sequence manager implementations
+ build a sequence name by its own, if the attribute was not set.
+
+ The locking attribute is set to true if the persistent attribute is
+ used for optimistic locking. can only be set for TIMESTAMP and INTEGER
+ columns.
+
+ The update-lock attribute is set to false if the persistent attribute is
+ used for optimistic locking AND the dbms should update the lock column
+ itself. The default is true which means that when locking is true then
+ OJB will update the locking fields. Can only be set for TIMESTAMP and INTEGER
+ columns.
+
+ The default-fetch attribute specifies whether the persistent attribute
+ belongs to the JDO default fetch group.
+
+ The conversion attribute contains a fully qualified class name.
+ This class must implement the interface
+ org.apache.ojb.accesslayer.conversions.FieldConversion.
+ A FieldConversion can be used to implement conversions between Java-
+ attributes and database columns.
+
+ The null-check attribute contains a fully qualified class name.
+ This class must implement the interface
+ org.apache.ojb.broker.accesslayer.NullCheck.
+ A NullCheck can be used to implement special requirements for
+ the definitions of a field's 'null' value as Java representation.
+
+ The length attribute can be used to specify a length setting, if
+ required by the jdbc-type of the underlying database column.
+
+ The precision attribute can be used to specify a precision setting, if
+ required by the jdbc-type of the underlying database column.
+
+ The scale attribute can be used to specify a scale setting, if
+ required by the jdbc-type of the underlying database column.
+
+ The access attribute specifies the accessibility of the field.
+ "readonly" marks fields that are not to modified. "readwrite" marks
+ fields that may be read and written to. "anonymous" marks anonymous fields.
+ An anonymous field has a database representation (column) but no
+ corresponding Java attribute. Hence the name of such a field does not
+ refer to a Java attribute of the class, but is used as a unique
+ identifier only.
+
+ The state-detection attribute is used by API's supporting automatic state detection
+ of persistence capable objects. The attribute indicate whether or not this field should
+ be included in object state detection (automatic detection of changed object fields).
+ If in the <em>state-detection</em> is generally disabled or in the associated
+ class-descriptor, this setting will (normally) be ignored.
+
+ The field-class attribute can be used to override the <code>PersistentField</code>
+ implementation class.
+ -->
+<!ATTLIST field-descriptor
+ id CDATA #IMPLIED
+ name CDATA #REQUIRED
+ table CDATA #IMPLIED
+ column CDATA #REQUIRED
+ jdbc-type (BIT | TINYINT | SMALLINT | INTEGER | BIGINT | DOUBLE |
+ FLOAT | REAL | NUMERIC | DECIMAL | CHAR | VARCHAR |
+ LONGVARCHAR | DATE | TIME | TIMESTAMP | BINARY |
+ VARBINARY | LONGVARBINARY | CLOB | BLOB | STRUCT |
+ ARRAY | REF | BOOLEAN | DATALINK | JAVA_OBJECT) #IMPLIED
+ primarykey (true | false) "false"
+ nullable (true | false) "true"
+ indexed (true | false) "false"
+ autoincrement (true | false) "false"
+ sequence-name CDATA #IMPLIED
+ locking (true | false) "false"
+ update-lock (true | false) "true"
+ default-fetch (true | false) "false"
+ conversion CDATA #IMPLIED
+ null-check CDATA #IMPLIED
+ length CDATA #IMPLIED
+ precision CDATA #IMPLIED
+ scale CDATA #IMPLIED
+ access (readonly | readwrite | anonymous) "readwrite"
+ state-detection (true | false) "true"
+ field-class CDATA #IMPLIED
+>
+
+
+<!--
+ An attribute element allows arbitrary name/value pairs to
+ be represented in the repository.
+ -->
+<!ELEMENT attribute (documentation?)>
+
+<!--
+ The attribute-name identifies the name of the attribute.
+ The attribute-value identifies the value of the attribute.
+-->
+<!ATTLIST attribute
+ attribute-name CDATA #REQUIRED
+ attribute-value CDATA #REQUIRED
+>
+
+<!--
+ A reference-descriptor contains mapping info for an attribute of a
+ persistent class that is not primitive but references another
+ persistent entity Object.
+
+ A foreignkey element contains information on foreign key columns that
+ implement the association on the database level.
+
+ A reference-decriptor may contain user defined attribute elements.
+ -->
+<!ELEMENT reference-descriptor (documentation?, foreignkey+, attribute*)>
+
+<!--
+ The name attribute holds the name of the persistent classes attribute.
+ If the PersistentFieldDefaultImpl is used there must be an attribute
+ in the persistent class with this name.
+ If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+ compliant property of this name.
+
+ The class-ref attribute contains a fully qualified class name.
+ This class is the Object type of the persistent reference attribute.
+ As this is an IDREF there must be a class-descriptor for this class
+ in the repository too.
+
+ The proxy attribute can be set to true to specify that proxy based
+ lazy loading should be used for this attribute.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, then loading of the reference for the first
+ object of some collection causes loading of the references for
+ the next proxy-prefetching-limit objects.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ The refresh attribute can be set to true to force OJB to refresh
+ object references on instance loading.
+
+ The auto-retrieve attribute specifies whether OJB automatically retrieves
+ this reference attribute on loading the persistent object.
+ If set to false the reference attribute is set to null. In this case the
+ user is responsible to fill the reference attribute.
+
+ The auto-update attribute specifies whether OJB automatically stores
+ this reference attribute on storing the persistent object or not or only
+ link the reference.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The auto-delete attribute specifies whether OJB automatically deletes
+ this reference attribute on deleting the persistent object or not.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ For ODMG it must be 'none' (since OJB 1.0.2). More info see OJB documentation.
+
+ The otm-dependent attribute specifies whether the OTM layer automatically
+ creates the referred object or deletes it if the reference field is set to null.
+ Also otm-dependent references behave as if auto-update and auto-delete
+ were set to true, but the auto-update and auto-delete attributes themself
+ must be always set to false for use with OTM layer.
+
+ -->
+<!ATTLIST reference-descriptor
+ name CDATA #REQUIRED
+ class-ref IDREF #REQUIRED
+
+ proxy (true | false) "false"
+ proxy-prefetching-limit CDATA #IMPLIED
+ refresh (true | false) "false"
+
+ auto-retrieve (true | false) "true"
+ auto-update (none | link | object | true | false) "false"
+ auto-delete (none | link | object | true | false) "false"
+>
+
+<!--
+ A foreignkey element contains information on a foreign-key persistent
+ attribute that implement the association on the database level.
+ -->
+<!ELEMENT foreignkey (documentation?)>
+
+<!--
+ The field-id-ref contains the id attribute of the field-descriptor
+ used as a foreign key.
+ -->
+<!ATTLIST foreignkey
+ field-id-ref CDATA #IMPLIED
+ field-ref CDATA #IMPLIED
+ target-field-ref CDATA #IMPLIED
+>
+
+
+<!--
+ A collection-descriptor contains mapping info for a Collection- or
+ Array-attribute of a persistent class that contains persistent
+ entity Objects.
+
+ The inverse-foreignkey elements contains information on foreign-key
+ attributes that implement the association on the database level.
+
+ The fk-pointing-to-this-class and fk-pointing-to-element-class elements
+ are only needed if the Collection or array implements a m:n association.
+ In this case they contain information on the foreign-key columns of
+ the intermediary table.
+
+ A collection-descriptor may contain user defined attribute elements.
+ -->
+<!ELEMENT collection-descriptor (
+ documentation?,
+ orderby*,
+ inverse-foreignkey*,
+ fk-pointing-to-this-class*,
+ fk-pointing-to-element-class*,
+ query-customizer?,
+ attribute*)>
+
+
+<!--
+ The name attribute holds the name of the persistent classes attribute.
+ If the PersistentFieldDefaultImpl is used there must be an attribute
+ in the persistent class with this name.
+ If the PersistentFieldPropertyImpl is used there must be a JavaBeans
+ compliant property of this name.
+
+ The collection-class may hold a fully qualified class name.
+ This class must be the Java type of the Collection attribute.
+ This attribute must only specified if the attribute type is not
+ a java.util.Collection (or subclass) or Array type. The declared
+ (none java.util.Collection or non Array) class must implement
+ ManageableCollection to let OJB handle this type of collection.
+
+ The element-class-ref attribute contains a fully qualified class name.
+ This class is the Object type of the elements of persistent collection
+ or Array attribute.
+ As this is an IDREF there must be a class-descriptor for this class
+ in the repository too.
+
+ DEPRECATED, please use the 'orderby'-element. The orderby attribute may
+ specify a field of the element class.
+ The Collection or Array will be sorted according to the specified attribute.
+ The sort attribute may be used to specify ascending or descending order for
+ this operation.
+
+ The indirection-table must specify the name of an intermediary table,
+ if the persistent collection attribute implements a m:n association.
+
+ The proxy attribute can be set to true to specify that proxy based
+ lazy loading should be used for this attribute.
+
+ If the proxy-prefetching-limit attribute (used with the proxy attribute)
+ is set to the value > 0, then loading of the collection for the first
+ object of some other collection causes loading of the collections for
+ the next proxy-prefetching-limit objects.
+ Set this parameter to 0 if you want to turn this feature off.
+
+ The refresh attribute can be set to true to force OJB to refresh
+ object and collection references on instance loading.
+
+ The auto-retrieve attribute specifies whether OJB automatically retrieves
+ this attribute on loading the persistent object.
+ If set to false the persistent attribute is set to null. In this case the
+ user is responsible to fill the persistent attribute.
+
+ The auto-update attribute specifies whether OJB automatically stores
+ the referenced objects on storing the persistent object or not or only link.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ Allowed ODMG settings please see OJB documentation.
+
+ The auto-delete attribute specifies whether OJB automatically deletes
+ the referenced objects on deleting the persistent object or not.
+ This attribute must be set to 'false' if using the OTM or JDO layer.
+ Allowed ODMG settings please see OJB documentation.
+
+ The otm-dependent attribute specifies whether the OTM layer automatically
+ creates collection elements that were included into the collectionelements
+ and deletes collection elements that were excluded from the collection.
+ Also otm-dependent references behave as if auto-update and auto-delete
+ were set to true, but the auto-update and auto-delete attributes themself
+ must be always set to false for use with OTM layer.
+
+
+ -->
+<!ATTLIST collection-descriptor
+ name CDATA #IMPLIED
+ collection-class CDATA #IMPLIED
+ element-class-ref IDREF #REQUIRED
+ orderby CDATA #IMPLIED
+ sort (ASC | DESC) "ASC"
+
+ indirection-table CDATA #IMPLIED
+
+ proxy (true | false) "false"
+ proxy-prefetching-limit CDATA #IMPLIED
+ refresh (true | false) "false"
+
+ auto-retrieve (true | false) "true"
+ auto-update (none | link | object | true | false) "false"
+ auto-delete (none | link | object | true | false) "false"
+>
+
+<!--
+ An orderby elemnent contains an attribute name and a sort order
+ -->
+<!ELEMENT orderby (documentation?)>
+<!ATTLIST orderby
+ name CDATA #REQUIRED
+ sort (ASC | DESC) "ASC"
+>
+
+<!--
+ A inverse-foreignkey element contains information on a foreign-key
+ persistent attribute that implement the association on the database level.
+ -->
+<!ELEMENT inverse-foreignkey (documentation?)>
+
+<!--
+ The field-id-ref contains the id attribute of the field-descriptor
+ in the class of the collection elements that is used as a foreign key.
+ -->
+<!ATTLIST inverse-foreignkey
+ field-id-ref CDATA #IMPLIED
+ field-ref CDATA #IMPLIED
+ target-field-ref CDATA #IMPLIED
+>
+
+<!--
+ A fk-pointing-to-this-class element contains information on a foreign-key
+ column of an intermediary table in a m:n scenario.
+ -->
+<!ELEMENT fk-pointing-to-this-class (documentation?)>
+
+<!--
+ The column attribute specifies the foreign-key column in the intermediary
+ table that points to the class holding the collection.
+ -->
+<!ATTLIST fk-pointing-to-this-class
+ column CDATA #REQUIRED
+>
+
+<!--
+ A fk-pointing-to-element-class element contains information on a foreign-key
+ column of an intermediary table in a m:n scenario.
+ -->
+<!ELEMENT fk-pointing-to-element-class (documentation?)>
+
+<!--
+ The column attribute specifies the foreign-key column in the intermediary
+ table that points to the class of the collection elements.
+ -->
+<!ATTLIST fk-pointing-to-element-class
+ column CDATA #REQUIRED
+>
+
+
+<!--
+ A queryEnhancer element to enhance the 1:n query
+ -->
+<!ELEMENT query-customizer (
+ documentation?,
+ attribute*)>
+<!ATTLIST query-customizer
+ class CDATA #REQUIRED
+>
+
+<!--
+ An index-descriptor describes an index by listing its columns. It may be
+ unique or not.
+-->
+<!ELEMENT index-descriptor (documentation?, index-column+)>
+<!ATTLIST index-descriptor
+ name CDATA #REQUIRED
+ unique (true | false) "false">
+
+<!--
+ An index-column is just the name of a column in an index.
+-->
+<!ELEMENT index-column (documentation?)>
+<!ATTLIST index-column
+ name CDATA #REQUIRED>
+
+<!--
+ Identifies the procedure/function that should be used to handle
+ insertions for a specific class-descriptor.
+
+ The nested 'argument' elements define the argument list for the
+ procedure/function as well as the source for each argument.
+
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-all-fields attribute indicates if all field-descriptors in
+ the corresponding class-descriptor are to be passed to the procedure/
+ function. If include-all-fields is 'true', any nested 'argument'
+ elements will be ignored. In this case, values for all field-descriptors
+ will be passed to the procedure/function. The order of values that are
+ passed to the procedure/function will match the order of field-descriptors
+ on the corresponding class-descriptor. If include-all-fields is false,
+ then values will be passed to the procedure/function based on the
+ information in the nested 'argument' elements.
+-->
+<!ELEMENT insert-procedure
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST insert-procedure
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-all-fields (true | false) "false"
+>
+
+<!--
+ Identifies the procedure/function that should be used to handle
+ updates for a specific class-descriptor.
+
+ The nested 'argument' elements define the argument list for the
+ procedure/function as well as the source for each argument.
+
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-all-fields attribute indicates if all field-descriptors in
+ the corresponding class-descriptor are to be passed to the procedure/
+ function. If include-all-fields is 'true', any nested 'argument'
+ elements will be ignored. In this case, values for all field-descriptors
+ will be passed to the procedure/function. The order of values that are
+ passed to the procedure/function will match the order of field-descriptors
+ on the corresponding class-descriptor. If include-all-fields is false,
+ then values will be passed to the procedure/function based on the
+ information in the nested 'argument' elements.
+-->
+<!ELEMENT update-procedure
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST update-procedure
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-all-fields (true | false) "false"
+>
+
+<!--
+ Identifies the procedure/function that should be used to handle
+ deletions for a specific class-descriptor.
+
+ The nested 'runtime-argument' and 'constant-argument' elements define
+ the argument list for the procedure/function as well as the source
+ for each argument.
+
+ The name attribute identifies the name of the procedure/function to use
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The include-pk-only attribute indicates if all field-descriptors in
+ the corresponding class-descriptor that are identified as being part of
+ the primary key are to be passed to the procedure/function. If
+ include-pk-only is 'true', any nested 'argument' elements will be
+ ignored. In this case, values for all field-descriptors that are identified
+ as being part of the primary key will be passed to the procedure/function.
+ The order of values that are passed to the procedure/function will match
+ the order of field-descriptors on the corresponding class-descriptor.
+ If include-pk-only is false, then values will be passed to the procedure/
+ function based on the information in the nested 'argument' elements.
+-->
+<!ELEMENT delete-procedure
+ (documentation?, (runtime-argument | constant-argument)*, attribute*)>
+<!ATTLIST delete-procedure
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+ include-pk-only (true | false) "false"
+>
+
+<!--
+ Defines an argument that is passed to a procedure/function. Each argument
+ will be set to a value from a field-descriptor or null.
+
+ The field-ref attribute identifies the field-descriptor in the corresponding
+ class-descriptor that provides the value for this argument. If this attribute
+ is unspecified, then this argument will be set to null.
+-->
+<!ELEMENT runtime-argument
+ (documentation?, attribute*)>
+<!ATTLIST runtime-argument
+ field-ref CDATA #IMPLIED
+ return (true | false) "false"
+>
+<!--
+ Defines a constant value that is passed to a procedure/function.
+
+ The value attribute identifies the value that is passed to the procedure/
+ function.
+-->
+<!ELEMENT constant-argument
+ (documentation?, attribute*)>
+<!ATTLIST constant-argument
+ value CDATA #REQUIRED
+>
+
+<!--
+ Identifies the procedure/function that should be used to handle
+ selects based on the identity (primary key values) for this class
+ descriptor.
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The name attribute identifies the name of the procedure/function to use
+ -->
+<!ELEMENT select-by-pk-procedure
+ (documentation?, attribute*)>
+<!ATTLIST select-by-pk-procedure
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+>
+
+<!--
+ Identifies the procedure/function that should be used to handle
+ selects based on the values of foreign key fields in the objects of
+ this type. It will e.g. be used for retrieving collection elements.
+
+ The return-field-ref identifies the field-descriptor that will receive
+ the value that is returned by the procedure/function. If the procedure/
+ function does not include a return value, then do not specify a value
+ for this attribute.
+
+ The name attribute identifies the name of the procedure/function to use
+-->
+<!ELEMENT select-by-fk-procedure
+ (documentation?, attribute*)>
+<!ATTLIST select-by-fk-procedure
+ name CDATA #REQUIRED
+ return-field-ref CDATA #IMPLIED
+>
Added: db/ojb/trunk/src/config/repository.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository.xml (added)
+++ db/ojb/trunk/src/config/repository.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+#/* 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.
+ */
+-->
+<!-- This is a sample metadata repository for the
+ Apache ObJectRelationalBridge (OJB) System.
+ Use this file as a template for building your own mappings.
+-->
+
+<!-- doctype definition
+ By default we are using a local DTD that is expected to reside
+ in the same directory as this repository.xml file.
+ If you intend to validate your repository.xml against
+ the public dtd at the Apache site, please replace the string
+ "repository.dtd"
+ by the public adress
+ "http://db.apache.org/ojb/dtds/1.0/repository.dtd".
+ In this case validation will only work if the machine you
+ run your application on can connect to the internet!
+-->
+
+<!DOCTYPE descriptor-repository PUBLIC
+ "-//Apache Software Foundation//DTD OJB Repository//EN"
+ "repository.dtd"
+[
+
+<!ENTITY database SYSTEM "repository_database.xml">
+<!ENTITY internal SYSTEM "repository_internal.xml">
+<!ENTITY user SYSTEM "repository_user.xml">
+]>
+
+
+<descriptor-repository version="1.0" isolation-level="read-uncommitted"
+ proxy-prefetching-limit="50">
+
+ <!-- include all used database connections -->
+ &database;
+
+ <!-- include ojb internal mappings here, can be removed (with <!ENTITY entry)
+ if internal tables not used. See documentation platform-guide -->
+ &internal;
+
+ <!-- include user defined mappings here -->
+ &user;
+
+</descriptor-repository>
Added: db/ojb/trunk/src/config/repository_database.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_database.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_database.xml (added)
+++ db/ojb/trunk/src/config/repository_database.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,246 @@
+<!-- @version $Id: repository_database.xml 513577 2007-03-02 02:33:44 +0100 (Fr, 02 Mrz 2007) arminw $ -->
+<!--
+#/* 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.
+ */
+-->
+<!--
+Define all database connections here.
+One defined connection should be defined as the default one,
+by setingt default-connection="true" - this could be done at runtime too.
+
+It is possible to set user/password at
+runtime or to let different users login at runtime
+using the same database.
+Use PBKey objects for the same jcdAlias name,
+but with different user/password.
+
+It is also possible to add jdbc-connection-descriptor elements
+at runtime, using the MetadataManager.
+-->
+
+ <!-- This connection is used as the default one within OJB -->
+ <jdbc-connection-descriptor
+ jcd-alias="@JCD_ALIAS@"
+ default-connection="true"
+ platform="@DBMS_NAME@"
+ jdbc-level="@JDBC_LEVEL@"
+ driver="@DRIVER_NAME@"
+ protocol="@URL_PROTOCOL@"
+ subprotocol="@URL_SUBPROTOCOL@"
+ dbalias="@URL_DBALIAS@"
+ username="@USER_NAME@"
+ password="@USER_PASSWD@"
+ batch-mode="false"
+ useAutoCommit="1"
+ ignoreAutoCommitExceptions="false"
+ >
+
+ <!--
+ If set 'true' OJB use the native database LIMIT and OFFSET syntax
+ for limit and paging queries (if it's supported by the database and OJB's Platform
+ implementation class). If set 'false' OJB simulate limit and paging by a specific
+ result set iterator (this can result in bad performance on big result sets).
+ -->
+ <attribute attribute-name="nativeLimitOffset" attribute-value="true" />
+
+
+ <!-- ** Attributes with name prefix "platform." are used to allow database
+ platform class specific settings (PlatformXYZImpl classes) -->
+
+ <!-- If set to value >0 Oracle's implicit statement caching will be enabled by OJB (Oracle9i or higher).
+ Number of cached statements per connection using implicit caching with Oracle9i Connections.
+ See http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/jdbc30/StmtCacheSample/Readme.html-->
+ <attribute attribute-name="platform.oracle.statementCacheSize" attribute-value="15" />
+
+ <!-- Number of rows pre-fetched by the JDBC-driver for each executed query, when using row
+ pre-fetching with Oracle Connections (Oracle9i or higher). Note: this setting can be overridden
+ by specifying a connection-pool attribute with name="jdbc.defaultRowPrefetch".
+ See http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/advanced/RowPrefetchSample/Readme.html -->
+ <attribute attribute-name="platform.oracle.prefetchSize" attribute-value="20" />
+
+ <!-- If set to value >0 Oracle's native batch statement handling will be enabled by OJB
+ (Oracle9i or higher). If 0 or not specified the JDBC standard batch methods are used.
+ See http://technet.oracle.com/products/oracle9i/daily/jun07.html -->
+ <!--<attribute attribute-name="platform.oracle.batchSize" attribute-value="20" />-->
+
+
+ <!-- Specify the ConnectionFactory implemenation:
+ org.apache.ojb.broker.accesslayer.ConnectionFactoryDBCPImpl
+ org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl
+ org.apache.ojb.broker.accesslayer.ConnectionFactoryNotPooledImpl
+ -->
+ <connection-factory
+ class="org.apache.ojb.broker.accesslayer.ConnectionFactoryPooledImpl"
+ validationQuery=""
+ >
+ <!-- ** Attributes with prefix "ojb." supported by all ConnectionFactory implementations -->
+ <!-- Set fetchSize to 0 to use driver's default. -->
+ <attribute attribute-name="ojb.fetchSize" attribute-value="0"/>
+ <!-- Enable/disable OJB's internal statement caching. This make sense
+ when the used jdbc-driver/ConnectionFactory doesn't support statement
+ caching. The statements cached as long as the current used connection
+ is returned to pool/closed. NOTE: It's recommended to disable OJB's statement
+ caching if the jdbc-driver or the connection-pool statement-caching is enabled
+ -->
+ <attribute attribute-name="ojb.cacheStatements" attribute-value="false"/>
+ <!-- If OJB's statement caching is enabled, this property set the max number
+ of cached statements per connection -->
+ <attribute attribute-name="ojb.maxCacheStatements" attribute-value="50"/>
+
+
+ <!-- ** Attributes with name prefix "pool." supported by ConnectionFactoryPooledImpl
+ and ConnectionFactoryDBCPImpl:
+ (prefix 'pool.' is mandatory for all attributes, e.g. "pool.maxActive")
+ "maxActive", "maxIdle", "minIdle", "maxWait", "whenExhaustedAction",
+ "testOnBorrow", "testOnReturn", "testWhileIdle", "timeBetweenEvictionRunsMillis",
+ "numTestsPerEvictionRun", "minEvictableIdleTimeMillis", "validationQuery",
+ "softMinEvictableIdleTimeMillis", "initialSize"
+ -->
+ <attribute attribute-name="pool.maxActive" attribute-value="30"/>
+ <attribute attribute-name="pool.maxIdle" attribute-value="-1"/>
+ <attribute attribute-name="pool.maxWait" attribute-value="10000"/>
+ <attribute attribute-name="pool.whenExhaustedAction" attribute-value="0"/>
+ <attribute attribute-name="pool.testOnBorrow" attribute-value="true"/>
+ <attribute attribute-name="pool.testOnReturn" attribute-value="false"/>
+ <attribute attribute-name="pool.testWhileIdle" attribute-value="false"/>
+ <attribute attribute-name="pool.timeBetweenEvictionRunsMillis" attribute-value="-1"/>
+ <attribute attribute-name="pool.numTestsPerEvictionRun" attribute-value="10"/>
+ <attribute attribute-name="pool.minEvictableIdleTimeMillis" attribute-value="-1"/>
+ <attribute attribute-name="pool.initialSize" attribute-value="0"/>
+
+ <!-- ** Additional attributes supported by ConnectionFactoryDBCPImpl:
+ (prefix 'dbcp.' is mandatory for all attributes, e.g. "dbcp.poolPreparedStatements")
+ "poolPreparedStatements", "maxOpenPreparedStatements", "accessToUnderlyingConnectionAllowed"
+ "logAbandoned", "removeAbandoned", "removeAbandonedTimeout"
+ -->
+ <!--
+ Attributes determining if ConnectionFactoryDBCPImpl
+ should also pool PreparedStatement. This is programmatically disabled
+ when using platform=Oracle9i since Oracle statement caching will conflict
+ with DBCP ObjectPool-based PreparepdStatement caching (ie setting true
+ here has no effect for Oracle9i platform). -->
+ <attribute attribute-name="dbcp.poolPreparedStatements" attribute-value="true"/>
+ <attribute attribute-name="dbcp.maxOpenPreparedStatements" attribute-value="50"/>
+ <!-- Attribute determining if the Commons DBCP connection wrapper will allow
+ access to the underlying concrete Connection instance from the JDBC-driver
+ (if not specified, by default it's enabled). -->
+ <attribute attribute-name="dbcp.accessToUnderlyingConnectionAllowed" attribute-value="true"/>
+ <attribute attribute-name="dbcp.logAbandoned" attribute-value="false"/>
+ <attribute attribute-name="dbcp.removeAbandoned" attribute-value="false"/>
+ <attribute attribute-name="dbcp.removeAbandonedTimeout" attribute-value="300"/>
+
+
+ <!-- ** Attributes with name prefix "jdbc." are passed directly to the JDBC driver. -->
+ <!-- Oracle specific driver setting to enable oracle's specific statement batching.
+ Oracle Docs: "The value of this property is used as the default batch
+ size when using Oracle style batching."
+ Attention: With OracleXE + thin this setting cause unexpected behavior -->
+ <!--<attribute attribute-name="jdbc.defaultExecuteBatch" attribute-value="20"/>-->
+ <!-- Oracle specific driver setting to set the default prefetch size.
+ Oracle Docs: "The value of this property is used as the default number of rows to prefetch."
+ Attention: With OracleXE + thin this setting cause unexpected behavior -->
+ <!--<attribute attribute-name="jdbc.defaultRowPrefetch" attribute-value="20"/>-->
+
+ </connection-factory>
+
+
+ <!-- Specify the batch strategy and the batch manager implementation, the
+ validator is used to check the 'execute batch' statement return array -->
+ <batch class="org.apache.ojb.broker.accesslayer.batch.BatchManagerImpl"
+ strategy="org.apache.ojb.broker.accesslayer.batch.BatchStrategyDefaultImpl"
+ limit="50"
+ validator="org.apache.ojb.broker.accesslayer.batch.ReturnValueValidatorImpl"
+ >
+ <!-- property used by BatchManagerImpl, set 'true' if the used JDBC driver
+ supports proper "int[] Statement.executeBatch()" return result arrays (many
+ driver simply return 'success' instead the number of modified rows)-->
+ <attribute attribute-name="batch.supportOptimisticLocking" attribute-value="false"/>
+ </batch>
+
+
+ <!-- Specify the caching pipe and the used caching implementation -->
+ <object-cache class="org.apache.ojb.broker.cache.ObjectCacheDefaultImpl"
+ strategy="org.apache.ojb.broker.cache.CachingPipeFlatCopyImpl"
+ timeout="-1"
+ >
+ <!-- attributes used by ObjectCacheDefaultImpl -->
+ <attribute attribute-name="default.useSoftReference" attribute-value="true"/>
+ <attribute attribute-name="default.maxEntry" attribute-value="-1"/>
+
+ <!-- attributes used by ObjectCacheOSCacheImpl -->
+ <attribute attribute-name="oscache.flushOnPut" attribute-value="true"/>
+ <attribute attribute-name="oscache.cacheCapacity" attribute-value=""/>
+ <attribute attribute-name="oscache.cron" attribute-value=""/>
+
+ <!-- attributes used by ObjectCacheJCSImpl -->
+ <attribute attribute-name="jcs.maxObjects" attribute-value=""/>
+ </object-cache>
+
+
+ <sequence-manager class="hilo">
+ <!-- The attribute 'seq.perField': If set 'true' it's possible to define per
+ field-descriptor sequence manager. This way you can use different sequence
+ identifier generation strategies. If set 'false' only the default sequence manager
+ defined within the jdbc-connection-descriptor is used and all sequence descriptors defined
+ on field-descriptor level are ignored -->
+ <attribute attribute-name="seq.perField" attribute-value="false"/>
+ <!-- attributes supported by SequenceManagerHighLowImpl,
+ SequenceManagerInMemoryImpl, SequenceManagerNextValImpl
+ please see "Sequence Manager" guide or/and javadoc of class for more information -->
+ <attribute attribute-name="seq.start" attribute-value="200000"/>
+ <attribute attribute-name="seq.autoNaming" attribute-value="true"/>
+
+ <!-- attributes supported by SequenceManagerHighLowImpl
+ please see "Sequence Manager" guide or/and javadoc of classes for more information -->
+ <attribute attribute-name="seq.grabSize" attribute-value="20"/>
+
+ <!-- optional attributes supported by SequenceManagerNextValImpl (support depends
+ on the used database), please see "Sequence Manager" guide or/and javadoc of
+ classes for more information -->
+ <!-- attribute attribute-name="seq.as" attribute-value="INTEGER"/ -->
+ <!-- attribute attribute-name="seq.incrementBy" attribute-value="1"/ -->
+ <!-- attribute attribute-name="seq.maxValue" attribute-value="999999999999999999999999999"/ -->
+ <!-- attribute attribute-name="seq.minValue" attribute-value="1"/ -->
+ <!-- attribute attribute-name="seq.cycle" attribute-value="false"/ -->
+ <!-- attribute attribute-name="seq.cache" attribute-value="20"/ -->
+ <!-- attribute attribute-name="seq.order" attribute-value="false"/ -->
+
+ <!-- optional attributes supported by SequenceManagerIdentityImpl, more details
+ please see "Sequence Manager" guide or/and javadoc of classes for more information -->
+ <!-- If set 'true' OJB use the JDBC 3.0 method "Statement.getGeneratedKeys()"
+ to obtain generated database identity keys. If set 'false' OJB use a separate
+ database specific "last identity call" query to request the generated identity key. -->
+ <attribute attribute-name="seq.generatedKeys" attribute-value="true"/>
+
+ </sequence-manager>
+ </jdbc-connection-descriptor>
+
+ <!-- Datasource example -->
+ <!-- jdbc-connection-descriptor
+ jcd-alias="default"
+ default-connection="true"
+ platform="Hsqldb"
+ jdbc-level="2.0"
+ jndi-datasource-name="java:DefaultDS"
+ username="sa"
+ password=""
+ batch-mode="false"
+ useAutoCommit="0"
+ ignoreAutoCommitExceptions="false"
+ >
+ Add the other elements like connection-factory, batch, object-cache, sequence-manager here.
+
+ </jdbc-connection-descriptor -->
+
Added: db/ojb/trunk/src/config/repository_internal.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_internal.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_internal.xml (added)
+++ db/ojb/trunk/src/config/repository_internal.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,253 @@
+<!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
+<!--
+#/* 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.
+ */
+-->
+<!-- The OJB HIGH/LOW SequenceManagerTable -->
+ <class-descriptor
+ class="org.apache.ojb.broker.util.sequence.HighLowSequence"
+ table="OJB_HL_SEQ"
+ batchable="false"
+ >
+ <!-- this persistent object should never be cached, so we use an empty cache -->
+ <object-cache class="org.apache.ojb.broker.cache.ObjectCacheEmptyImpl">
+ </object-cache>
+
+ <field-descriptor
+ name="name"
+ column="NAME"
+ jdbc-type="VARCHAR"
+ primarykey="true"
+ />
+ <field-descriptor
+ name="maxKey"
+ column="MAX_KEY"
+ jdbc-type="BIGINT"
+ />
+ <field-descriptor
+ name="version"
+ column="VERSION"
+ jdbc-type="INTEGER"
+ locking="true"
+ />
+ </class-descriptor>
+
+
+<!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.NamedRootsMap$NamedEntry"
+ table="OJB_NRM"
+ >
+ <field-descriptor
+ name="name"
+ column="NAME"
+ jdbc-type="VARCHAR"
+ primarykey="true"
+ />
+ <field-descriptor
+ name="oid"
+ column="OID_"
+ jdbc-type="LONGVARBINARY"
+ />
+ </class-descriptor>
+
+ <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DListImpl"
+ table="OJB_DLIST"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+
+ <collection-descriptor
+ name="elements"
+ element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
+ auto-retrieve = "true"
+ auto-update="none"
+ auto-delete="none"
+ >
+ <inverse-foreignkey field-ref="dlistId"/>
+ </collection-descriptor>
+ </class-descriptor>
+
+<!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DListEntry"
+ table="OJB_DLIST_ENTRIES"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <field-descriptor
+ name="dlistId"
+ column="DLIST_ID"
+ jdbc-type="INTEGER"
+ />
+ <field-descriptor
+ name="position"
+ column="POSITION_"
+ jdbc-type="INTEGER"
+ />
+ <field-descriptor
+ name="oid"
+ column="OID_"
+ jdbc-type="LONGVARBINARY"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+ />
+ </class-descriptor>
+
+ <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DBagImpl"
+ table="OJB_DLIST"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <collection-descriptor
+ name="elements"
+ element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
+ auto-retrieve = "true"
+ auto-update="none"
+ auto-delete="none"
+ >
+ <inverse-foreignkey field-ref="dlistId"/>
+ </collection-descriptor>
+ </class-descriptor>
+
+<!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DSetImpl"
+ table="OJB_DSET"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <collection-descriptor
+ name="elements"
+ element-class-ref="org.apache.ojb.odmg.collections.DSetEntry"
+ auto-retrieve = "true"
+ auto-update="none"
+ auto-delete="none"
+ >
+ <inverse-foreignkey field-ref="dlistId"/>
+ </collection-descriptor>
+ </class-descriptor>
+
+<!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DSetEntry"
+ table="OJB_DSET_ENTRIES"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <field-descriptor
+ name="dlistId"
+ column="DLIST_ID"
+ jdbc-type="INTEGER"
+ />
+ <field-descriptor
+ name="position"
+ column="POSITION_"
+ jdbc-type="INTEGER"
+ />
+ <field-descriptor
+ name="oid"
+ column="OID_"
+ jdbc-type="LONGVARBINARY"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+ />
+ </class-descriptor>
+
+<!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DMapImpl"
+ table="OJB_DMAP"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <collection-descriptor
+ name="entries"
+ element-class-ref="org.apache.ojb.odmg.collections.DMapEntry"
+ collection-class="org.apache.ojb.broker.util.collections.ManageableHashSet"
+ auto-retrieve = "true"
+ auto-update="none"
+ auto-delete="none"
+ >
+ <inverse-foreignkey field-ref="dmapId"/>
+ </collection-descriptor>
+ </class-descriptor>
+
+<!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
+ <class-descriptor
+ class="org.apache.ojb.odmg.collections.DMapEntry"
+ table="OJB_DMAP_ENTRIES"
+ >
+ <field-descriptor
+ name="id"
+ column="ID"
+ jdbc-type="INTEGER"
+ primarykey="true"
+ autoincrement="true"
+ />
+ <field-descriptor
+ name="dmapId"
+ column="DMAP_ID"
+ jdbc-type="INTEGER"
+ />
+ <field-descriptor
+ name="keyOid"
+ column="KEY_OID"
+ jdbc-type="LONGVARBINARY"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+ />
+ <field-descriptor
+ name="valueOid"
+ column="VALUE_OID"
+ jdbc-type="LONGVARBINARY"
+ conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"
+ />
+ </class-descriptor>
+
+
+
+ <!-- END OF OJB INTERNAL MAPPINGS-->
Added: db/ojb/trunk/src/config/repository_user.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/repository_user.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/repository_user.xml (added)
+++ db/ojb/trunk/src/config/repository_user.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,22 @@
+<!-- Please keep user defined mappings in this file only
+ to avoid mixing user defined and system mappings. -->
+<!-- Mapping of User defined classes starts here -->
+<!--
+#/* 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.
+ */
+-->
+<!-- This file usually contains the mappings for the application classes. -->
+
+<!-- Mapping of User defined classes ends here -->
Added: db/ojb/trunk/src/config/simplelog.properties
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/simplelog.properties?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/simplelog.properties (added)
+++ db/ojb/trunk/src/config/simplelog.properties Fri Mar 30 16:08:35 2007
@@ -0,0 +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.
+# */
+#-->
+#
+# simplelog config
+#
+
+#set log levels
+org.apache.commons.logging.simplelog.defaultlog=warn
+org.apache.commons.logging.simplelog.log.org.apache.ojb.broker.accesslayer.JdbcAccess=warn
+org.apache.commons.logging.simplelog.log.org.apache.ojb.broker.accesslayer.SqlGenerator=warn
Added: db/ojb/trunk/src/config/spy.properties
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/spy.properties?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/spy.properties (added)
+++ db/ojb/trunk/src/config/spy.properties Fri Mar 30 16:08:35 2007
@@ -0,0 +1,242 @@
+#<!--
+#/* 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.
+# */
+#-->
+#################################################################
+# P6Spy Options File #
+# See documentation for detailed instructions #
+#################################################################
+
+#################################################################
+# MODULES #
+# #
+# Modules provide the P6Spy functionality. If a module, such #
+# as module_log is commented out, that functionality will not #
+# be available. If it is not commented out (if it is active), #
+# the functionality will be active. #
+# #
+# Values set in Modules cannot be reloaded using the #
+# reloadproperties variable. Once they are loaded, they remain #
+# in memory until the application is restarted. #
+# #
+#################################################################
+
+module.log=com.p6spy.engine.logging.P6LogFactory
+#module.outage=com.p6spy.engine.outage.P6OutageFactory
+
+#################################################################
+# REALDRIVER(s) #
+# #
+# In your application server configuration file you replace the #
+# "real driver" name with com.p6spy.engine.P6SpyDriver. This is #
+# where you put the name of your real driver P6Spy can find and #
+# register your real driver to do the database work. #
+# #
+# If your application uses several drivers specify them in #
+# realdriver2, realdriver3. See the documentation for more #
+# details. #
+# #
+# Values set in REALDRIVER(s) cannot be reloaded using the #
+# reloadproperties variable. Once they are loaded, they remain #
+# in memory until the application is restarted. #
+# #
+#################################################################
+
+# oracle driver
+# realdriver=oracle.jdbc.driver.OracleDriver
+
+# mysql Connector/J driver
+# realdriver=com.mysql.jdbc.Driver
+
+# informix driver
+# realdriver=com.informix.jdbc.IfxDriver
+
+# ibm db2 driver
+# realdriver=COM.ibm.db2.jdbc.net.DB2Driver
+
+# the mysql open source driver
+#realdriver=org.gjt.mm.mysql.Driver
+
+# the postgresql open source driver
+#realdriver=org.postgresql.Driver
+
+# the hsqldb jdbc driver (OJB testsuite and tutorials)
+realdriver=org.hsqldb.jdbcDriver
+
+#specifies another driver to use
+#realdriver2=com.sap.dbtech.jdbc.DriverSapDB
+realdriver2=oracle.jdbc.driver.OracleDriver
+#specifies a third driver to use
+realdriver3=org.gjt.mm.mysql.Driver
+
+################################################################
+# P6LOG SPECIFIC PROPERTIES #
+################################################################
+# no properties currently available
+
+################################################################
+# P6OUTAGE SPECIFIC PROPERTIES #
+################################################################
+# Outage Detection
+#
+# This feature detects long-running statements that may be indicative of
+# a database outage problem. If this feature is turned on, it will log any
+# statement that surpasses the configurable time boundary during its execution.
+# When this feature is enabled, no other statements are logged except the long
+# running statements. The interval property is the boundary time set in seconds.
+# For example, if this is set to 2, then any statement requiring at least 2
+# seconds will be logged. Note that the same statement will continue to be logged
+# for as long as it executes. So if the interval is set to 2, and the query takes
+# 11 seconds, it will be logged 5 times (at the 2, 4, 6, 8, 10 second intervals).
+#
+# outagedetection=true|false
+# outagedetectioninterval=integer time (seconds)
+#
+outagedetection=false
+outagedetectioninterval=
+
+################################################################
+# COMMON PROPERTIES #
+################################################################
+
+# comma separated list of tables to include
+include =
+# comma separated list of tables to exclude
+exclude =
+
+# sql expression to evaluate if using regex
+sqlexpression =
+
+# filter what is logged
+filter=false
+
+# turn on tracing
+autoflush = true
+
+# sets the date format using Java's SimpleDateFormat routine
+dateformat=
+
+#list of categories to explicitly include
+includecategories=
+
+#list of categories to exclude: error, info, batch, debug, statement,
+#commit, rollback and result are valid values
+excludecategories=info,debug,result,batch,resultset,prepared
+
+#allows you to use a regex engine or your own matching engine to determine
+
+#which statements to log
+#
+#stringmatcher=com.p6spy.engine.common.GnuRegexMatcher
+#stringmatcher=com.p6spy.engine.common.JakartaRegexMatcher
+stringmatcher=
+
+# prints a stack trace for every statement logged
+stacktrace=false
+# if stacktrace=true, specifies the stack trace to print
+stacktraceclass=
+
+# determines if property file should be reloaded
+reloadproperties=false
+# determines how often should be reloaded in seconds
+reloadpropertiesinterval=60
+
+#if=true then url must be prefixed with p6spy:
+useprefix=false
+
+#specifies the appender to use for logging
+#appender=com.p6spy.engine.logging.appender.Log4jLogger
+#appender=com.p6spy.engine.logging.appender.StdoutLogger
+appender=com.p6spy.engine.logging.appender.FileLogger
+
+# name of logfile to use, note Windows users should make sure to use forward slashes in their pathname (e:/test/spy.log) (used for file logger only)
+logfile = spy.log
+
+# append to the p6spy log file. if this is set to false the
+# log file is truncated every time. (file logger only)
+append=true
+
+#The following are for log4j logging only
+log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
+log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
+log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n
+
+#log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
+#log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
+#log4j.appender.CHAINSAW_CLIENT.Port=4445
+#log4j.appender.CHAINSAW_CLIENT.LocationInfo=true
+
+log4j.logger.p6spy=INFO,STDOUT
+
+
+#################################################################
+# DataSource replacement #
+# #
+# Replace the real DataSource class in your application server #
+# configuration with the name com.p6spy.engine.spy.P6DataSource,#
+# then add the JNDI name and class name of the real #
+# DataSource here #
+# #
+# Values set in this item cannot be reloaded using the #
+# reloadproperties variable. Once it is loaded, it remains #
+# in memory until the application is restarted. #
+# #
+#################################################################
+#realdatasource=/RealMySqlDS
+#realdatasourceclass=com.mysql.jdbc.jdbc2.optional.MysqlDataSource
+
+#################################################################
+# DataSource properties #
+# #
+# If you are using the DataSource support to intercept calls #
+# to a DataSource that requires properties for proper setup, #
+# define those properties here. Use name value pairs, separate #
+# the name and value with a semicolon, and separate the #
+# pairs with commas. #
+# #
+# The example shown here is for mysql #
+# #
+#################################################################
+#realdatasourceproperties=port;3306,serverName;ibmhost,databaseName;mydb
+
+#################################################################
+# JNDI DataSource lookup #
+# #
+# If you are using the DataSource support outside of an app #
+# server, you will probably need to define the JNDI Context #
+# environment. #
+# #
+# If the P6Spy code will be executing inside an app server then #
+# do not use these properties, and the DataSource lookup will #
+# use the naming context defined by the app server. #
+# #
+# The two standard elements of the naming environment are #
+# jndicontextfactory and jndicontextproviderurl. If you need #
+# additional elements, use the jndicontextcustom property. #
+# You can define multiple properties in jndicontextcustom, #
+# in name value pairs. Separate the name and value with a #
+# semicolon, and separate the pairs with commas. #
+# #
+# The example shown here is for a standalone program running on #
+# a machine that is also running JBoss, so the JDNI context #
+# is configured for JBoss (3.0.4). #
+# #
+#################################################################
+#jndicontextfactory=org.jnp.interfaces.NamingContextFactory
+#jndicontextproviderurl=localhost:1099
+#jndicontextcustom=java.naming.factory.url.pkgs;org.jboss.nameing:org.jnp.interfaces
+
+#jndicontextfactory=com.ibm.websphere.naming.WsnInitialContextFactory
+#jndicontextproviderurl=iiop://localhost:900
Added: db/ojb/trunk/src/config/web.xml
URL: http://svn.apache.org/viewvc/db/ojb/trunk/src/config/web.xml?view=auto&rev=524312
==============================================================================
--- db/ojb/trunk/src/config/web.xml (added)
+++ db/ojb/trunk/src/config/web.xml Fri Mar 30 16:08:35 2007
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+/* Copyright 2002-2004 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.
+ */
+-->
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+ version="2.4">
+
+ <display-name>OJB Lock-Server</display-name>
+ <description>
+ The OJB locking server servlet
+ </description>
+
+ <servlet>
+ <servlet-name>lockserver</servlet-name>
+ <servlet-class>org.apache.ojb.broker.locking.LockManagerServlet</servlet-class>
+ <init-param>
+ <param-name>lockManager</param-name>
+ <param-value>org.apache.ojb.broker.locking.LockManagerInMemoryImpl</param-value>
+ <!--<param-value>org.apache.ojb.broker.locking.LockManagerCommonsImpl</param-value>-->
+ </init-param>
+ <init-param>
+ <param-name>lockTimeout</param-name>
+ <!-- set lock timeout to 2 minutes (setting in [ms]) -->
+ <param-value>120000</param-value>
+ </init-param>
+ <init-param>
+ <!-- set block timeout to 1 sec (setting in [ms], if supported by the Impl.) -->
+ <param-name>blockTimeout</param-name>
+ <param-value>1000</param-value>
+ </init-param>
+
+ <!--load-on-startup>1</load-on-startup-->
+ </servlet>
+
+ <!-- The mapping for the webdav servlet -->
+ <servlet-mapping>
+ <servlet-name>lockserver</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+
+ <!-- Establish the default list of welcome files -->
+ <welcome-file-list>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ </welcome-file-list>
+</web-app>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org