<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.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>
    <display-name>SimpleBMPJAR</display-name>
    <enterprise-beans>

        <!-- Simple EJB -->
        <entity>
            <display-name>SimpleBMPEJB</display-name>
            <ejb-name>SimpleBMPEJB</ejb-name>
            <local-home>com.sun.s1asdev.jdbc.maxconnectionusage.ejb.SimpleBMPHome</local-home>
            <local>com.sun.s1asdev.jdbc.maxconnectionusage.ejb.SimpleBMP</local>
            <ejb-class>com.sun.s1asdev.jdbc.maxconnectionusage.ejb.SimpleBMPBean</ejb-class>
            <persistence-type>Bean</persistence-type>
            <prim-key-class>java.lang.String</prim-key-class>
            <reentrant>False</reentrant>
            <security-identity>
                <description></description>
                <use-caller-identity></use-caller-identity>
            </security-identity>
            <resource-ref>
                <res-ref-name>DataSource</res-ref-name>
                <res-type>javax.sql.DataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
            </resource-ref>
            <resource-ref>
                <res-ref-name>XADataSource</res-ref-name>
                <res-type>javax.sql.XADataSource</res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
            </resource-ref>

        </entity>
    </enterprise-beans>

    <assembly-descriptor>
        <container-transaction>
            <method>
                <ejb-name>SimpleBMPEJB</ejb-name>
                <method-name>test1</method-name>
            </method>
            <trans-attribute>NotSupported</trans-attribute>
        </container-transaction>

        <container-transaction>
            <method>
                <ejb-name>SimpleBMPEJB</ejb-name>
                <method-name>test2</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>

        <container-transaction>
            <method>
                <ejb-name>SimpleBMPEJB</ejb-name>
                <method-name>test3</method-name>
            </method>
            <trans-attribute>Required</trans-attribute>
        </container-transaction>
    </assembly-descriptor>

</ejb-jar>

