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

    Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
    Copyright (c) 2022 Contributors to the Eclipse Foundation

    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

-->

<connector xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
       https://jakarta.ee/xml/ns/jakartaee/jakartaee_9.xsd
       https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
    version="2.0"
>
    <display-name>Test Adapter</display-name>
    <vendor-name>Java Software</vendor-name>
    <eis-type>Generic Type</eis-type>
    <resourceadapter-version>1.0Alpha</resourceadapter-version>
    <resourceadapter>
        <resourceadapter-class>
            connector.ThreadPoolTestRA
        </resourceadapter-class>
        <adminobject>
          <adminobject-interface>connector.MyAdminObject</adminobject-interface>
          <adminobject-class>connector.MyAdminObject</adminobject-class>
          <config-property>
            <config-property-name>NumberOfSetupWorks</config-property-name>
            <config-property-type>java.lang.Integer</config-property-type>
            <config-property-value>10</config-property-value>
          </config-property>
          <config-property>
            <config-property-name>NumberOfActualWorks</config-property-name>
            <config-property-type>java.lang.Integer</config-property-type>
            <config-property-value>4</config-property-value>
          </config-property>
        </adminobject>
    </resourceadapter>
</connector>
