<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">

  <persistence-unit name="wcsri-jpa" transaction-type="JTA">
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <jta-data-source>blueprint:comp/jta</jta-data-source>
    <non-jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</non-jta-data-source>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Subscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.DescCvgSubCoverage</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.DescCvgSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.GetCapsSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.GetCvgSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Idempotent</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Message</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.EventProducer</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.VersionInfo</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <validation-mode>NONE</validation-mode>

    <properties>
      <property name="openjpa.Multithreaded" value="true"/>
      <property name="openjpa.TransactionMode" value="managed"/>
      <property name="openjpa.ConnectionFactoryMode" value="managed"/>
      <property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict"/>
      <property name="openjpa.LockManager" value="pessimistic(VersionCheckOnReadLock=true,VersionUpdateOnWriteLock=true)"/>
      <property name="openjpa.Log" value="DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO"/>
    </properties>
  </persistence-unit>

  <persistence-unit name="wcsri-test" transaction-type="RESOURCE_LOCAL">
    <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
    <jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</jta-data-source>
    <non-jta-data-source>osgi:service/javax.sql.DataSource/(transactional=false)</non-jta-data-source>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Subscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.DescCvgSubCoverage</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.DescCvgSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.GetCapsSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.GetCvgSubscription</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Idempotent</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.Message</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.EventProducer</class>
    <class>edu.ucar.ral.wcsri.pubsub.persistence.domain.VersionInfo</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <validation-mode>NONE</validation-mode>

    <properties>
      <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/>

      <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)"/>
      <property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict"/>
      <property name="openjpa.Multithreaded" value="false"/>
      <property name="openjpa.Optimistic" value="false"/>
      <property name="openjpa.TransactionMode" value="local"/>
      <property name="openjpa.ConnectionFactoryMode" value="local"/>
      <property name="openjpa.LockManager" value="pessimistic(VersionCheckOnReadLock=true,VersionUpdateOnWriteLock=true)"/>
      <property name="openjpa.Log" value="DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO"/>

    </properties>
  </persistence-unit>

</persistence>