| <?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> |