blob: fe7348a3e9233d251a9239e6a2af7709a474824a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
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
-->
<ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.2" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/ejb-jar_3_2.xsd" xmlns="http://xmlns.jcp.org/xml/ns/javaee">
<interceptors>
<interceptor>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<around-invoke>
<class>com.acme.InterceptorA</class>
<method-name>interceptCall</method-name>
</around-invoke>
<around-construct>
<lifecycle-callback-class>com.acme.InterceptorA</lifecycle-callback-class>
<lifecycle-callback-method>create</lifecycle-callback-method>
</around-construct>
<post-construct>
<lifecycle-callback-class>com.acme.InterceptorA</lifecycle-callback-class>
<lifecycle-callback-method>afterCreation</lifecycle-callback-method>
</post-construct>
<pre-destroy>
<lifecycle-callback-class>com.acme.InterceptorA</lifecycle-callback-class>
<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
</pre-destroy>
</interceptor>
<interceptor>
<interceptor-class>com.acme.InterceptorC</interceptor-class>
<around-invoke>
<class>com.acme.InterceptorC</class>
<method-name>interceptCall</method-name>
</around-invoke>
<around-construct>
<lifecycle-callback-class>com.acme.InterceptorC</lifecycle-callback-class>
<lifecycle-callback-method>create</lifecycle-callback-method>
</around-construct>
<post-construct>
<lifecycle-callback-class>com.acme.InterceptorC</lifecycle-callback-class>
<lifecycle-callback-method>afterCreation</lifecycle-callback-method>
</post-construct>
<pre-destroy>
<lifecycle-callback-class>com.acme.InterceptorC</lifecycle-callback-class>
<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
</pre-destroy>
</interceptor>
<interceptor>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<around-invoke>
<class>com.acme.InterceptorB</class>
<method-name>interceptCall</method-name>
</around-invoke>
<around-construct>
<lifecycle-callback-class>com.acme.InterceptorB</lifecycle-callback-class>
<lifecycle-callback-method>create</lifecycle-callback-method>
</around-construct>
<post-construct>
<lifecycle-callback-class>com.acme.InterceptorB</lifecycle-callback-class>
<lifecycle-callback-method>afterCreation</lifecycle-callback-method>
</post-construct>
<pre-destroy>
<lifecycle-callback-class>com.acme.InterceptorB</lifecycle-callback-class>
<lifecycle-callback-method>preDestroy</lifecycle-callback-method>
</pre-destroy>
</interceptor>
</interceptors>
<assembly-descriptor>
<interceptor-binding>
<ejb-name>SfulEJB</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
</interceptor-order>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SfulEJB</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
</interceptor-order>
<method>
<method-name>hello</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SfulEJB</ejb-name>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<method>
<method-name>init0</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SfulEJB</ejb-name>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<method>
<method-name>SfulEJB</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SfulEJB</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
</interceptor-order>
<method>
<method-name>remove</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB3</ejb-name>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB3</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorC</interceptor-class>
</interceptor-order>
<method>
<method-name>SlessEJB3</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB3</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
</interceptor-order>
<method>
<method-name>sayHello</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB3</ejb-name>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<exclude-class-interceptors>true</exclude-class-interceptors>
<method>
<method-name>init</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SingletonBean</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
</interceptor-order>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SingletonBean</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
</interceptor-order>
<method>
<method-name>destroy</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SingletonBean</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorC</interceptor-class>
</interceptor-order>
<method>
<method-name>init</method-name>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SingletonBean</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorC</interceptor-class>
</interceptor-order>
<method>
<method-name>hello</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SingletonBean</ejb-name>
<interceptor-order>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
</interceptor-order>
<method>
<method-name>SingletonBean</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB</ejb-name>
<interceptor-class>com.acme.InterceptorA</interceptor-class>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB</ejb-name>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<method>
<method-name>sayHello</method-name>
<method-params/>
</method>
</interceptor-binding>
<interceptor-binding>
<ejb-name>SlessEJB</ejb-name>
<interceptor-class>com.acme.InterceptorB</interceptor-class>
<exclude-class-interceptors>true</exclude-class-interceptors>
<method>
<method-name>SlessEJB</method-name>
</method>
</interceptor-binding>
</assembly-descriptor>
</ejb-jar>