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

    Copyright (c) 2018, 2020 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

-->

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee web-app_3_1.xsd"
         version="3.1">

    <display-name>jms-destination-definition</display-name>
    <distributable></distributable>
    <servlet>
        <servlet-name>Servlet</servlet-name>
        <servlet-class>com.sun.s1asdev.ejb.ejb30.hello.session3.Servlet</servlet-class>
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet</servlet-name>
        <url-pattern>/servlet</url-pattern>
    </servlet-mapping>

    <jms-destination>
        <description>global-scope resource to be modified by Web DD</description>
        <name>java:global/env/Servlet_ModByDD_JMSDestination</name>
        <interface-name>jakarta.jms.Topic</interface-name>
        <resource-adapter>jmsra</resource-adapter>
        <destination-name>myPhysicalTopic</destination-name>
    </jms-destination>

    <jms-destination>
        <description>global-scope resource defined in Web DD</description>
        <name>java:global/env/Web_DD_JMSDestination</name>
        <interface-name>jakarta.jms.Queue</interface-name>
        <resource-adapter>jmsra</resource-adapter>
        <destination-name>myPhysicalQueue</destination-name>
    </jms-destination>

    <jms-destination>
        <description>application-scope resource defined in Web DD</description>
        <name>java:app/env/Web_DD_JMSDestination</name>
        <interface-name>jakarta.jms.Topic</interface-name>
<!--        <resource-adapter>jmsra</resource-adapter> -->
        <destination-name>myPhysicalTopic</destination-name>
    </jms-destination>

    <jms-destination>
        <description>module-scope resource defined in Web DD</description>
        <name>java:module/env/Web_DD_JMSDestination</name>
        <interface-name>jakarta.jms.Topic</interface-name>
        <resource-adapter>jmsra</resource-adapter>
        <destination-name>myPhysicalTopic</destination-name>
    </jms-destination>

    <jms-destination>
        <description>component-scope resource defined in Web DD</description>
        <name>java:comp/env/Web_DD_JMSDestination</name>
        <interface-name>jakarta.jms.Queue</interface-name>
        <resource-adapter>jmsra</resource-adapter>
        <destination-name>myPhysicalQueue</destination-name>
    </jms-destination>
</web-app>

