<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC
   "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"
   "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar>
   <description>jBoss CTS application</description>
   <display-name>jBoss CTS</display-name>
   <enterprise-beans>
      <session>
         <description>JUnit Session Bean Test Runner</description>
         <ejb-name>EJBTestRunnerEJB</ejb-name>
         <home>org.jboss.test.util.ejb.EJBTestRunnerHome</home>
         <remote>org.jboss.test.util.ejb.EJBTestRunner</remote>
         <ejb-class>org.jboss.test.util.ejb.EJBTestRunnerBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Bean</transaction-type>
      </session>

      <session>
         <display-name>Stateless Session</display-name>
         <ejb-name>StatelessSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StatelessSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StatelessSession</remote>
         <local-home>org.jboss.test.cts.interfaces.StatelessSessionLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.StatelessSessionLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.StatelessSessionBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
      </session>
      <session>
         <display-name>Stateful Session</display-name>
         <ejb-name>StatefulSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StatefulSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StatefulSession</remote>
         <local-home>org.jboss.test.cts.interfaces.StatefulSessionLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.StatefulSessionLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.StatefulSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Container</transaction-type>
         <ejb-ref>
            <ejb-ref-name>ejb/StatelessSessionHome</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.cts.interfaces.StatelessSessionHome</home>
            <remote>org.jboss.test.cts.interfaces.StatelessSession</remote>
            <ejb-link>StatelessSessionBean</ejb-link>
         </ejb-ref>
         <ejb-local-ref>
            <ejb-ref-name>ejb/CMPBeanLocalHome</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <local-home>org.jboss.test.cts.interfaces.CtsCmpLocalHome</local-home>
            <local>org.jboss.test.cts.interfaces.CtsCmpLocal</local>
            <ejb-link>CMPBean</ejb-link>
         </ejb-local-ref>
      </session>
      <session>
         <display-name>Stateful Session</display-name>
         <ejb-name>BMTStatefulSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StatefulSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StatefulSession</remote>
         <local-home>org.jboss.test.cts.interfaces.StatefulSessionLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.StatefulSessionLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.BMTStatefulSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Bean</transaction-type>
      </session>
      <session>
         <description>An alternate deployment of the StatefulSession used to
         create a stateful session in order to test in vm stateful session
         handle serialization.
         </description>
         <display-name>Facade Stateful Session</display-name>
         <ejb-name>FacadeStatefulSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StatefulSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StatefulSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.StatefulSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Container</transaction-type>
      </session>
      <session>
         <description>Stateless session pooling test</description>
         <ejb-name>StrictlyPooledStatelessBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StrictlyPooledSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StrictlyPooledSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.StrictlyPooledSessionBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
         <env-entry>
             <env-entry-name>maxActiveCount</env-entry-name>
             <env-entry-type>java.lang.Integer</env-entry-type>
             <env-entry-value>5</env-entry-value>
         </env-entry>
      </session>
      <session>
         <description>Stateless session pooling exception test</description>
         <ejb-name>StrictlyPooledCreateExceptionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StrictlyPooledSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StrictlyPooledSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.StrictlyPooledCreateExceptionBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
         <env-entry>
             <env-entry-name>maxActiveCount</env-entry-name>
             <env-entry-type>java.lang.Integer</env-entry-type>
             <env-entry-value>1</env-entry-value>
         </env-entry>
      </session>
      <session>
         <description>Stateless session pooling test</description>
         <ejb-name>StrictlyPooledStatefulBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StrictlyPooledSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StrictlyPooledSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.StrictlyPooledSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Container</transaction-type>
         <env-entry>
             <env-entry-name>maxActiveCount</env-entry-name>
             <env-entry-type>java.lang.Integer</env-entry-type>
             <env-entry-value>5</env-entry-value>
         </env-entry>
      </session>
      <session>
         <description>Independent deployment interaction tests, Caller</description>
         <ejb-name>CallerSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.CallerSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.CallerSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.CallerSessionBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
         <ejb-ref>
            <ejb-ref-name>ejb/CalleeHome</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>org.jboss.test.cts.interfaces.StatelessSessionHome</home>
            <remote>org.jboss.test.cts.interfaces.StatelessSession</remote>
         </ejb-ref>
      </session>
      <session>
         <description>Independent deployment interaction tests, Callee</description>
         <ejb-name>CalleeSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.CallerSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.CallerSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.CallerSessionBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
      </session>
      <session>
         <description>An stateful session with a short passivation time
         that performs a long wait
         </description>
         <display-name>Long Wait Stateful Session</display-name>
         <ejb-name>LongWaitStatefulSessionBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.StatefulSessionHome</home>
         <remote>org.jboss.test.cts.interfaces.StatefulSession</remote>
         <ejb-class>org.jboss.test.cts.ejb.StatefulSessionBean</ejb-class>
         <session-type>Stateful</session-type>
         <transaction-type>Container</transaction-type>
      </session>

      <entity>
         <description>Test for BEAN managed persistence</description>
         <ejb-name>BMPBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.CtsBmpHome</home>
         <remote>org.jboss.test.cts.interfaces.CtsBmp</remote>
         <ejb-class>org.jboss.test.cts.ejb.CtsBmpBean</ejb-class>
         <persistence-type>Bean</persistence-type>
         <prim-key-class>org.jboss.test.cts.keys.AccountPK</prim-key-class>
         <reentrant>True</reentrant>
         <resource-ref>
            <res-ref-name>datasource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
         </resource-ref>
      </entity>
      <entity>
         <description>Test for BEAN managed persistence (Callbacks)</description>
         <ejb-name>BMPCallbackBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.BmpCallbackHome</home>
         <remote>org.jboss.test.cts.interfaces.BmpCallback</remote>
         <ejb-class>org.jboss.test.cts.ejb.BmpCallbackBean</ejb-class>
         <persistence-type>Bean</persistence-type>
         <prim-key-class>org.jboss.test.cts.keys.AccountPK</prim-key-class>
         <reentrant>True</reentrant>
         <resource-ref>
            <res-ref-name>datasource</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
         </resource-ref>
      </entity>
      <entity>
         <description>Test for CONTAINER managed persistence </description>
         <ejb-name>CMPBean</ejb-name>
         <home>org.jboss.test.cts.interfaces.CtsCmpHome</home>
         <remote>org.jboss.test.cts.interfaces.CtsCmp</remote>
         <local-home>org.jboss.test.cts.interfaces.CtsCmpLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.CtsCmpLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.CtsCmpBean</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.cts.keys.AccountPK</prim-key-class>
         <reentrant>True</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>CMPBean</abstract-schema-name>
         <cmp-field><field-name>pk</field-name></cmp-field>
         <cmp-field><field-name>personsName</field-name></cmp-field>
         <cmp-field><field-name>personsAge</field-name></cmp-field>
         <primkey-field>pk</primkey-field>
      </entity>
      <entity>
         <description>Test for CONTAINER managed persistence </description>
         <ejb-name>CMPBeanOptionD</ejb-name>
         <home>org.jboss.test.cts.interfaces.CtsCmpHome</home>
         <remote>org.jboss.test.cts.interfaces.CtsCmp</remote>
         <local-home>org.jboss.test.cts.interfaces.CtsCmpLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.CtsCmpLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.CtsCmpBean</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.cts.keys.AccountPK</prim-key-class>
         <reentrant>True</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>CMPBeanOptionD</abstract-schema-name>
         <cmp-field><field-name>pk</field-name></cmp-field>
         <cmp-field><field-name>personsName</field-name></cmp-field>
         <cmp-field><field-name>personsAge</field-name></cmp-field>
         <primkey-field>pk</primkey-field>
      </entity>
      <entity>
         <description>Duplicate deployment of CMPBean</description>
         <ejb-name>CMPBean2</ejb-name>
         <home>org.jboss.test.cts.interfaces.CtsCmpHome</home>
         <remote>org.jboss.test.cts.interfaces.CtsCmp</remote>
         <local-home>org.jboss.test.cts.interfaces.CtsCmpLocalHome</local-home>
         <local>org.jboss.test.cts.interfaces.CtsCmpLocal</local>
         <ejb-class>org.jboss.test.cts.ejb.CtsCmpBean</ejb-class>
         <persistence-type>Container</persistence-type>
         <prim-key-class>org.jboss.test.cts.keys.AccountPK</prim-key-class>
         <reentrant>True</reentrant>
         <cmp-version>2.x</cmp-version>
         <abstract-schema-name>CMPBean2</abstract-schema-name>
         <cmp-field><field-name>pk</field-name></cmp-field>
         <cmp-field><field-name>personsName</field-name></cmp-field>
         <primkey-field>pk</primkey-field>
      </entity>

      <message-driven>
         <description>Message driven pooling test</description>
         <ejb-name>StrictlyPooledMDB</ejb-name>
         <ejb-class>org.jboss.test.cts.ejb.StrictlyPooledMDB</ejb-class>
         <transaction-type>Container</transaction-type>
         <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
         <message-driven-destination>
            <destination-type>javax.jms.Queue</destination-type>
         </message-driven-destination>
         <env-entry>
             <env-entry-name>maxActiveCount</env-entry-name>
             <env-entry-type>java.lang.Integer</env-entry-type>
             <env-entry-value>5</env-entry-value>
         </env-entry>
      </message-driven>
      <message-driven>
         <description>Message driven pooling test</description>
         <ejb-name>SubclassMDB</ejb-name>
         <ejb-class>org.jboss.test.cts.ejb.ConcreteMDB</ejb-class>
         <transaction-type>Container</transaction-type>
         <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
         <message-driven-destination>
            <destination-type>javax.jms.Queue</destination-type>
         </message-driven-destination>
      </message-driven>
   </enterprise-beans>

   <assembly-descriptor>
   <container-transaction>
      <method>
         <ejb-name>StatelessSessionBean</ejb-name>
          <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
    </container-transaction>
   <container-transaction>
      <method>
         <ejb-name>StatelessSessionBean</ejb-name>
          <method-name>testPassivationByTimeLocal</method-name>
       </method>
       <trans-attribute>NotSupported</trans-attribute>
    </container-transaction>
   </assembly-descriptor>
</ejb-jar>
