Path: blob/aarch64-shenandoah-jdk8u272-b10/jaxws/src/share/jaxws_classes/javax/xml/ws/WebServiceRefs.java
38890 views
/*1* Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation. Oracle designates this7* particular file as subject to the "Classpath" exception as provided8* by Oracle in the LICENSE file that accompanied this code.9*10* This code is distributed in the hope that it will be useful, but WITHOUT11* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or12* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License13* version 2 for more details (a copy is included in the LICENSE file that14* accompanied this code).15*16* You should have received a copy of the GNU General Public License version17* 2 along with this work; if not, write to the Free Software Foundation,18* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.19*20* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA21* or visit www.oracle.com if you need additional information or have any22* questions.23*/2425package javax.xml.ws;2627import java.lang.annotation.Documented;28import java.lang.annotation.Target;29import java.lang.annotation.Retention;30import static java.lang.annotation.ElementType.*;31import static java.lang.annotation.RetentionPolicy.*;3233/**34* The <code>WebServiceRefs</code> annotation allows35* multiple web service references to be declared at the36* class level.37*38* <p>39* It can be used to inject both service and proxy40* instances. These injected references are not thread safe.41* If the references are accessed by multiple threads,42* usual synchronization techniques can be used to43* support multiple threads.44*45* <p>46* There is no way to associate web service features with47* the injected instances. If an instance needs to be48* configured with web service features, use @WebServiceRef49* to inject the resource along with its features.50*51* <p>52* <b>Example</b>: The <code>StockQuoteProvider</code>53* proxy instance, and the <code>StockQuoteService</code> service54* instance are injected using @WebServiceRefs.55*56* <pre><code>57* @WebServiceRefs({@WebServiceRef(name="service/stockquoteservice", value=StockQuoteService.class),58* @WebServiceRef(name="service/stockquoteprovider", type=StockQuoteProvider.class, value=StockQuoteService.class})59* public class MyClient {60* void init() {61* Context ic = new InitialContext();62* StockQuoteService service = (StockQuoteService) ic.lookup("java:comp/env/service/stockquoteservice");63* StockQuoteProvider port = (StockQuoteProvider) ic.lookup("java:comp/env/service/stockquoteprovider");64* ...65* }66* ...67* }68* </code></pre>69*70* @see WebServiceRef71* @since 2.072*/7374@Documented75@Retention(RUNTIME)76@Target(TYPE)77public @interface WebServiceRefs {78/**79* Array used for multiple web service reference declarations.80*/81WebServiceRef[] value();82}838485