<?xml version="1.0"?>
<!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>
   <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>
         <ejb-name>ExceptionTesterEJB</ejb-name>
         <home>org.jboss.test.exception.ExceptionTesterHome</home>
         <remote>org.jboss.test.exception.ExceptionTester</remote>
         <local-home>org.jboss.test.exception.ExceptionTesterLocalHome</local-home>
         <local>org.jboss.test.exception.ExceptionTesterLocal</local>
         <ejb-class>org.jboss.test.exception.ExceptionTesterBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
      </session>
      <session>
         <ejb-name>CreateExceptionTesterEJB</ejb-name>
         <home>org.jboss.test.exception.ExceptionTesterHome</home>
         <remote>org.jboss.test.exception.ExceptionTester</remote>
         <local-home>org.jboss.test.exception.ExceptionTesterLocalHome</local-home>
         <local>org.jboss.test.exception.ExceptionTesterLocal</local>
         <ejb-class>org.jboss.test.exception.ExceptionTesterBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
         <env-entry>
            <description></description>
            <env-entry-name>failInEjbCreate</env-entry-name>
            <env-entry-type>java.lang.Boolean</env-entry-type>
            <env-entry-value>true</env-entry-value>
         </env-entry>
      </session>

      <session>
         <ejb-name>SecuredExceptionTesterEJB</ejb-name>
         <home>org.jboss.test.exception.ExceptionTesterHome</home>
         <remote>org.jboss.test.exception.ExceptionTester</remote>
         <local-home>org.jboss.test.exception.ExceptionTesterLocalHome</local-home>
         <local>org.jboss.test.exception.ExceptionTesterLocal</local>
         <ejb-class>org.jboss.test.exception.ExceptionTesterBean</ejb-class>
         <session-type>Stateless</session-type>
         <transaction-type>Container</transaction-type>
      </session>

      <entity>
         <ejb-name>EntityExceptionTesterEJB</ejb-name>
         <home>org.jboss.test.exception.EntityExceptionTesterHome</home>
         <remote>org.jboss.test.exception.EntityExceptionTester</remote>
         <local-home>org.jboss.test.exception.EntityExceptionTesterLocalHome</local-home>
         <local>org.jboss.test.exception.EntityExceptionTesterLocal</local>
         <ejb-class>org.jboss.test.exception.EntityExceptionTesterBean</ejb-class>
         <persistence-type>Bean</persistence-type>
         <prim-key-class>java.lang.String</prim-key-class>
         <reentrant>False</reentrant>
         <cmp-version>1.x</cmp-version>
         <primkey-field>key</primkey-field>
      </entity>
   </enterprise-beans>

   <assembly-descriptor>
      <method-permission>
         <unchecked />
         <method>
            <ejb-name>SecuredExceptionTesterEJB</ejb-name>
            <method-name>*</method-name>
         </method>
      </method-permission>
      <method-permission>
         <role-name>NoExistingRole</role-name>
         <method>
            <ejb-name>SecuredExceptionTesterEJB</ejb-name>
            <method-name>securityExceptionNoTx</method-name>
         </method>
      </method-permission>

      <container-transaction>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorInTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorInTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionInTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionInTx</method-name>
         </method>
         <trans-attribute>Required</trans-attribute>
      </container-transaction>
      <container-transaction>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorNewTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionNewTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>create</method-name>
         </method>
         <trans-attribute>RequiresNew</trans-attribute>
      </container-transaction>
      <container-transaction>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorNoTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>ExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>applicationErrorNoTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>ejbExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>runtimeExceptionNoTx</method-name>
         </method>
         <method>
            <ejb-name>EntityExceptionTesterEJB</ejb-name>
            <method-name>remoteExceptionNoTx</method-name>
         </method>
         <trans-attribute>NotSupported</trans-attribute>
      </container-transaction>
   </assembly-descriptor>
</ejb-jar>
