325N/A/*
325N/A * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
325N/A *
325N/A * This code is free software; you can redistribute it and/or modify it
325N/A * under the terms of the GNU General Public License version 2 only, as
325N/A * published by the Free Software Foundation. Oracle designates this
325N/A * particular file as subject to the "Classpath" exception as provided
325N/A * by Oracle in the LICENSE file that accompanied this code.
325N/A *
325N/A * This code is distributed in the hope that it will be useful, but WITHOUT
325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
325N/A * version 2 for more details (a copy is included in the LICENSE file that
325N/A * accompanied this code).
325N/A *
325N/A * You should have received a copy of the GNU General Public License version
325N/A * 2 along with this work; if not, write to the Free Software Foundation,
325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
325N/A *
325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
325N/A * or visit www.oracle.com if you need additional information or have any
325N/A * questions.
325N/A */
325N/A
325N/Apackage javax.xml.ws;
325N/A
325N/Aimport java.lang.annotation.Documented;
325N/Aimport java.lang.annotation.Target;
325N/Aimport java.lang.annotation.Retention;
325N/Aimport static java.lang.annotation.ElementType.*;
325N/Aimport static java.lang.annotation.RetentionPolicy.*;
325N/A
325N/A/**
325N/A * The <code>WebServiceRefs</code> annotation allows
325N/A * multiple web service references to be declared at the
325N/A * class level.
325N/A *
325N/A * <p>
325N/A * It can be used to inject both service and proxy
325N/A * instances. These injected references are not thread safe.
325N/A * If the references are accessed by multiple threads,
325N/A * usual synchronization techinques can be used to
325N/A * support multiple threads.
325N/A *
325N/A * <p>
325N/A * There is no way to associate web service features with
325N/A * the injected instances. If an instance needs to be
325N/A * configured with web service features, use @WebServiceRef
325N/A * to inject the resource along with its features.
325N/A *
325N/A * <p>
325N/A * <b>Example</b>: The <code>StockQuoteProvider</code>
325N/A * proxy instance, and the <code>StockQuoteService</code> service
325N/A * instance are injected using @WebServiceRefs.
325N/A *
325N/A * <pre><code>
325N/A * &#64;WebServiceRefs({&#64;WebServiceRef(name="service/stockquoteservice", value=StockQuoteService.class),
325N/A * &#64;WebServiceRef(name="service/stockquoteprovider", type=StockQuoteProvider.class, value=StockQuoteService.class})
325N/A * public class MyClient {
325N/A * void init() {
325N/A * Context ic = new InitialContext();
325N/A * StockQuoteService service = (StockQuoteService) ic.lookup("java:comp/env/service/stockquoteservice");
325N/A * StockQuoteProvider port = (StockQuoteProvider) ic.lookup("java:comp/env/service/stockquoteprovider");
325N/A * ...
325N/A * }
325N/A * ...
325N/A * }
325N/A * </code></pre>
325N/A *
325N/A * @see WebServiceRef
325N/A * @since 2.0
325N/A */
325N/A
325N/A@Documented
325N/A@Retention(RUNTIME)
325N/A@Target(TYPE)
325N/Apublic @interface WebServiceRefs {
325N/A /**
325N/A * Array used for multiple web service reference declarations.
325N/A */
325N/A WebServiceRef[] value();
325N/A}