<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE connector PUBLIC 
    '-//Sun Microsystems, Inc.//DTD Connector 1.0//EN' 
    'http://java.sun.com/dtd/connector_1_0.dtd'>
<!-- 
    Resource adaptor descriptor for using Kodo
    JDO in a managed environment using transactions of
    NoTransaction type.
-->
<connector>
    <display-name>KodoJDO</display-name>
    <description>Resource Adapter for integration of the Kodo Java Data Objects (JDO) implementation with J2EE 1.3 compliant managed environments</description>
    <icon>
    <small-icon>kodo16.gif</small-icon>
    <large-icon>kodo32.gif</large-icon>
    </icon>
    <vendor-name>Solarmetric, Inc.</vendor-name>
    <spec-version>1.0</spec-version>
    <eis-type>jdo</eis-type>
    <version>1.0</version>
    <license>
        <description>
        See http://www.solarmetric.com for terms and license conditions.
        </description>
        <license-required>true</license-required>
    </license>
    <resourceadapter>
       	<managedconnectionfactory-class>kodo.jdbc.ee.JDBCManagedConnectionFactory</managedconnectionfactory-class>
        <connectionfactory-interface>javax.resource.cci.ConnectionFactory</connectionfactory-interface>
        <connectionfactory-impl-class>kodo.jdbc.ee.JDBCConnectionFactory</connectionfactory-impl-class>


        <connection-interface>javax.resource.cci.Connection</connection-interface>
        <connection-impl-class>kodo.runtime.PersistenceManagerImpl</connection-impl-class>


        <transaction-support>NoTransaction</transaction-support>

    <config-property>
        <description>A comma-separated list of query aggregate listeners to add to the default list of extensions.  Each listener must implement the kodo.jdbc.query.JDBCAggregateListener interface.</description>
        <config-property-name>AggregateListeners</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>If true, Kodo will order all SQL to meet constraints introduced by auto-incrementing primary keys.  If you only use auto-incrementing columns for non-primary key values or none of your objects have relations to auto-incrementing primary key objects, you can leave this property false.  Defaults to false.	</description>
        <config-property-name>AutoIncrementConstraints</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.meta.ClassIndicator to use by default for new mappings.  The class indicator is responsible for tracking the concrete class or subclass implemented by the object stored in each row of a table.</description>
        <config-property-name>ClassIndicator</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>in-class-name</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.util.ClassResolver implementation that should be used for JDO class resolution.  Defaults to a JDO spec-compliant resolver.</description>
        <config-property-name>ClassResolver</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>spec</config-property-value>
    </config-property>
    <config-property>
        <description>The class name of either the JDBC java.sql.Driver, or an instance of a javax.sql.DataSource to use to connect to the non-XA data source.</description>
        <config-property-name>Connection2DriverName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The password for the user specified in Connection2UserName</description>
        <config-property-name>Connection2Password</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of properties to be passed to the non-XA JDBC Driver when obtaining a Connection. Properties are of the form "key=value".  If the given JDBC Driver class is a DataSource, these properties will be used to configure the bean properties of the DataSource. </description>
        <config-property-name>Connection2Properties</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The URL for the non-XA data source.</description>
        <config-property-name>Connection2URL</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The username for the connection listed in Connection2URL.</description>
        <config-property-name>Connection2UserName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of com.solarmetric.jdbc.ConnectionDecorator implementations to install on all connection pools.</description>
        <config-property-name>ConnectionDecorators</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The class name of either the JDBC java.sql.Driver, or an instance of a javax.sql.DataSource to use to connect to the data source.</description>
        <config-property-name>ConnectionDriverName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The JNDI name of the connection factory to use for finding non-XA connections.  If specified, this is the connection that will be used for obtaining sequence numbers.</description>
        <config-property-name>ConnectionFactory2Name</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of properties used to configure the javax.sql.DataSource used as the non-XA ConnectionFactory. Each property should be of the form "key=value", where "key" is the name of some bean-like property of the data source.</description>
        <config-property-name>ConnectionFactory2Properties</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The JNDI name of the connection factory to use for obtaining connections.</description>
        <config-property-name>ConnectionFactoryName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>AuctionDataSource</config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of properties used to configure the javax.sql.DataSource used as the ConnectionFactory. Each property should be of the form "key=value", where "key" is the name of some bean-like property of the data source.</description>
        <config-property-name>ConnectionFactoryProperties</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The password for the user specified in ConnectionUserName</description>
        <config-property-name>ConnectionPassword</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of properties to be passed to the JDBC Driver when obtaining a Connection. Properties are of the form "key=value".  If the given JDBC Driver class is a DataSource, these properties will be used to configure the bean properties of the DataSource. </description>
        <config-property-name>ConnectionProperties</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>This property dictates when PersistenceManagers will retain and release data store connections.  Available options are "on-demand" for retaining a connection only during pessimistic transactions and data store operations, "transaction" for retaining a connection for the life of each transaction, or "persistence-manager" to indicate that a persistence manager should retain and reuse a single connection for its entire lifespan.</description>
        <config-property-name>ConnectionRetainMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>on-demand</config-property-value>
    </config-property>
    <config-property>
        <description>The URL for the data source.</description>
        <config-property-name>ConnectionURL</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The username for the connection listed in ConnectionURL.</description>
        <config-property-name>ConnectionUserName</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>Set to true if you''d like Kodo to copy all object ids before returning them to your code.  If you do not plan on modifying identity objects, you can set this property to false to avoid the copying overhead.</description>
        <config-property-name>CopyObjectIds</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to cache data loaded from the data store. Must implement kodo.datacache.DataCache.</description>
        <config-property-name>DataCache</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>The number of seconds that data in the data cache is valid for. A value of 0 or less means that by default, cached data does not time out.</description>
        <config-property-name>DataCacheTimeout</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
        <description>The type of data source in use.  Available options are "local" for a standard data source under Kodo''s control, or "enlisted" for a data source managed by an application server and automatically enlisted in global transactions.</description>
        <config-property-name>DataSourceMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>enlisted</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.sql.DBDictionary to use for database interaction. This is auto-detected based on the setting of javax.jdo.option.ConnectionURL, so you need only set this to override the default with your own custom dictionary or if you are using an unrecognized driver.</description>
        <config-property-name>DBDictionary</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>JoinSyntax=sql92</config-property-value>
    </config-property>
    <config-property>
        <description>Specifies the default eager fetch mode to use.  Either "none" to never eagerly-load relations, "join" for selecting 1-1 relations along with the target object using inner or outer joins, or "parallel" for selecting 1-1 relations via joins, and collections (including to-many relations) along with the target object using separate select statements executed in parallel.</description>
        <config-property-name>EagerFetchMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>parallel</config-property-value>
    </config-property>
    <config-property>
        <description>The number of rows that will be pre-fetched when an element in a Query result is accessed.  Use -1 to pre-fetch all results.</description>
        <config-property-name>FetchBatchSize</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
        <description>The name of the JDBC fetch direction to use.  Standard values are "forward", "reverse", and "unknown".</description>
        <config-property-name>FetchDirection</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>forward</config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of fetch group names that PersistenceManagers will load by default when loading data from the data store.</description>
        <config-property-name>FetchGroups</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of query filter listeners to add to the default list of extensions.  Each listener must implement the kodo.jdbc.query.JDBCFilterListener interface.</description>
        <config-property-name>FilterListeners</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>Whether or not Kodo should automatically flush modifications to the data store before executing queries.</description>
        <config-property-name>FlushBeforeQueries</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>with-connection</config-property-value>
    </config-property>
    <config-property>
        <description>If true, Kodo will order all SQL inserts, updates, and deletes to meet your schema''s foreign key constraints.  Defaults to false.</description>
        <config-property-name>ForeignKeyConstraints</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>If false, then the JDO implementation must consider modifications, deletions, and additions in the PersistenceManager transaction cache when executing a query inside a transaction. Else, the implementation is free to ignore the cache and execute the query directly against the data store.</description>
        <config-property-name>IgnoreCache</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to manage inverse relations during flush. Set to true to use the default inverse manager.  Custom inverse managers must extend kodo.runtime.InverseManager.</description>
        <config-property-name>InverseManager</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of com.solarmetric.jdbc.JDBCListener implementations to install on all connection pools.</description>
        <config-property-name>JDBCListeners</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to provide local management via JMX.  Must implement com.solarmetric.manage.jmx.gui.JMXInterface.</description>
        <config-property-name>JMXInterface</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>none</config-property-value>
    </config-property>
    <config-property>
        <description>The license key provided to you by SolarMetric.  Keys are available at www.solarmetric.com</description>
        <config-property-name>LicenseKey</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>Enter your license key here</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to handle acquiring locks on persistent instances.  Must implement kodo.runtime.LockManager.</description>
        <config-property-name>LockManager</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>pessimistic</config-property-value>
    </config-property>
    <config-property>
        <description>The number of milliseconds to wait for an object lock before throwing an exception, or -1 for no limit.</description>
        <config-property-name>LockTimeout</config-property-name>
        <config-property-type>java.lang.Integer</config-property-type>
        <config-property-value>-1</config-property-value>
    </config-property>
    <config-property>
        <description>LogFactory and configuration for Kodo''s logging needs.</description>
        <config-property-name>Log</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>kodo(DefaultLevel=WARN, Tool=INFO, Runtime=INFO)</config-property-value>
    </config-property>
    <config-property>
        <description>The mode to use for calculating the size of large result sets. Legal values are "unknown", "last", and "query".</description>
        <config-property-name>LRSSize</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>query</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to integrate with an external transaction manager.  Must implement kodo.runtime.ManagedRuntime.</description>
        <config-property-name>ManagedRuntime</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>auto</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.meta.MappingFactory that will provide the object-relational mapping information needed to map each persistent class to the database.</description>
        <config-property-name>MappingFactory</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>file</config-property-value>
    </config-property>
    <config-property>
        <description>The MBeans to register for monitoring via JMX.</description>
        <config-property-name>MBeans</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>Strategy for finding/creating JMX MBeanServer.</description>
        <config-property-name>MBeanServerStrategy</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>If true, then the application plans to have multiple threads simultaneously accessing a single PersistenceManager, so measures must be taken to ensure that the implementation is thread-safe. Otherwise, the implementation need not address thread safety.</description>
        <config-property-name>Multithreaded</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>If true, then it is possible to read persistent data outside the context of a transaction. Otherwise, a transaction must be in progress in order read data.</description>
        <config-property-name>NontransactionalRead</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>If true, then it is possible to write to fields of a persistent-nontransactional object when a transaction is not in progress. If false, such a write will result in a JDOUserException.</description>
        <config-property-name>NontransactionalWrite</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>Determines the persistence manager's behavior in calls to getObjectById with a validate parameter of false.  Use "check" to check that a database record exists for the object and load its fetch group fields.  Use "hollow" to return a hollow instance.</description>
        <config-property-name>ObjectLookupMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>hollow</config-property-value>
    </config-property>
    <config-property>
        <description>Selects between optimistic and pessimistic (data store) transactional modes.</description>
        <config-property-name>Optimistic</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>The name of the concrete implementation of javax.jdo.PersistenceManagerFactory that javax.jdo.JDOHelper.getPersistenceManagerFactory () should create. For Kodo JDO, this should be kodo.jdbc.runtime.JDBCPersistenceManagerFactory or a custom extension of this type.</description>
        <config-property-name>PersistenceManagerFactoryClass</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>kodo.jdbc.runtime.JDBCPersistenceManagerFactory</config-property-value>
    </config-property>
    <config-property>
        <description>Persistence manager plugin and properties.  If you use a custom class, it must extend kodo.runtime.PersistenceManagerImpl.</description>
        <config-property-name>PersistenceManagerImpl</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
        <description>Configure this persistence manager factory to service remote persistence managers.</description>
        <config-property-name>PersistenceManagerServer</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of the class names of all persistent classes to register whenever a persistence manager is obtained.</description>
        <config-property-name>PersistentClasses</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used as the ProfilingAgent.</description>
        <config-property-name>ProfilingAgent</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>none</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used as the ProfilingHelper.</description>
        <config-property-name>ProfilingHelper</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>stack</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used as the ProfilingInterface.</description>
        <config-property-name>ProfilingInterface</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>none</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to proxy second class object fields of managed instances.  Must implement kodo.util.ProxyManager.</description>
        <config-property-name>ProxyManager</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to cache query results loaded from the data store. Must implement kodo.datacache.QueryCache.</description>
        <config-property-name>QueryCache</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to cache query compilation data. Must implement java.util.Map. Does not need to be thread-safe -- it will be wrapped via the Collections.synchronizedMap() method if it does not extend kodo.util.CacheMap.</description>
        <config-property-name>QueryCompilationCache</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>The default lock level to use when loading objects within non-optimistic transactions.  Set to none, read, write, or the numeric value of the desired lock level for your lock manager.</description>
        <config-property-name>ReadLockLevel</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>read</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to communicate commit information among JVMs. Must implement kodo.event.RemoteCommitProvider.</description>
        <config-property-name>RemoteCommitProvider</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>sjvm</config-property-value>
    </config-property>
    <config-property>
        <description>Plugin used to provide remote management via JMX.  Must implement com.solarmetric.manage.jmx.RemoteJMXAdaptor.</description>
        <config-property-name>RemoteJMXAdaptor</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>none</config-property-value>
    </config-property>
    <config-property>
        <description>If true, then mutable second-class object fields in a persistence-capable object that have been changed during a transaction will be rolled back to their original values upon a rollback. Otherwise, the values will be set to null and re-loaded on next access.</description>
        <config-property-name>RestoreMutableValues</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>false</config-property-value>
    </config-property>
    <config-property>
        <description>If true, then fields in a persistence-capable object that have been changed during a transaction will be rolled back to their original values upon a rollback. Otherwise, the values will not be changed upon rollback.</description>
        <config-property-name>RestoreValues</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>The name of the JDBC result set type to use.  Standard values are "forward-only", "scroll-sensitive", and "scroll-insensitive".</description>
        <config-property-name>ResultSetType</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>forward-only</config-property-value>
    </config-property>
    <config-property>
        <description>If true, then fields in a persistence-capable object that have been read during a transaction must be preserved in memory after the transaction commits. Otherwise, persistence-capable objects must transition to the hollow state upon commit, meaning that subsequent reads will result in a database round-trip.</description>
        <config-property-name>RetainValues</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>If false, then nontransactional objects will be cleared when they are first modified in an optimistic transaction.  This cuts down on the possible number of optimistic locking exceptions, but it not JDO-standard behavior and can also have negative performance consequences.</description>
        <config-property-name>RetainValuesInOptimistic</config-property-name>
        <config-property-type>java.lang.Boolean</config-property-type>
        <config-property-value>true</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.schema.SchemaFactory that will provide information about the existing tables and other database structures at runtime.</description>
        <config-property-name>SchemaFactory</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>native</config-property-value>
    </config-property>
    <config-property>
        <description>A comma-separated list of the schemas you are using for persistent class tables.</description>
        <config-property-name>Schemas</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.schema.SequenceFactory to use to generate primary key values.</description>
        <config-property-name>SequenceFactory</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>db</config-property-value>
    </config-property>
    <config-property>
        <description>Specifies the default subclass fetch mode to use. Eitehr "none" to always select data in base class tables only, "join" to outer-join to tables for all subclasses, or "parallel" to execute a separate select in parallel for each possible subclass.  Parallel mode is only applicable to JDO Query execution; in other situations it mirrors join mode.</description>
        <config-property-name>SubclassFetchMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>join</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.meta.ClassMapping to use by default for new subclass mappings.  Typical subclass mapping types are "flat" (the subclass columns are added to the parent table) and "vertical" (a new table is created for the extra subclass columns).</description>
        <config-property-name>SubclassMapping</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>flat</config-property-value>
    </config-property>
    <config-property>
        <description>Controls whether Kodo will attempt to run the mapping tool on all persistent classes to synchronize their mappings and schema at runtime.</description>
        <config-property-name>SynchronizeMappings</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value></config-property-value>
    </config-property>
    <config-property>
        <description>The name of the JDBC transaction isolation level to use.  "default" indicates to use the JDBC driver''s default level. Other standard values are "none", "read-committed", "read-uncommitted", "repeatable-read", and "serializable".</description>
        <config-property-name>TransactionIsolation</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
        <description>Either "local" or "managed".</description>
        <config-property-name>TransactionMode</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>managed</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.runtime.UpdateManager to use to flush persistent object modifications to the database.</description>
        <config-property-name>UpdateManager</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>default</config-property-value>
    </config-property>
    <config-property>
        <description>The kodo.jdbc.meta.VersionIndicator to use by default for new mappings.  The version indicator is responsible for versioning objects so that optimistic lock violations can be detected.</description>
        <config-property-name>VersionIndicator</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>version-number</config-property-value>
    </config-property>
    <config-property>
        <description>The default lock level to use when changing objects within non-optimistic transactions.  Set to none, read, write, or the numeric value of the desired lock level for your lock manager.</description>
        <config-property-name>WriteLockLevel</config-property-name>
        <config-property-type>java.lang.String</config-property-type>
        <config-property-value>write</config-property-value>
    </config-property>

        <authentication-mechanism>
            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
            <credential-interface>javax.resource.security.PasswordCredential</credential-interface>
            </authentication-mechanism>
            <reauthentication-support>false</reauthentication-support>
    </resourceadapter>
</connector>

