View Javadoc
1   /*
2    * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4    *
5    * This code is free software; you can redistribute it and/or modify it
6    * under the terms of the GNU General Public License version 2 only, as
7    * published by the Free Software Foundation.  Oracle designates this
8    * particular file as subject to the "Classpath" exception as provided
9    * by Oracle in the LICENSE file that accompanied this code.
10   *
11   * This code is distributed in the hope that it will be useful, but WITHOUT
12   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14   * version 2 for more details (a copy is included in the LICENSE file that
15   * accompanied this code).
16   *
17   * You should have received a copy of the GNU General Public License version
18   * 2 along with this work; if not, write to the Free Software Foundation,
19   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20   *
21   * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22   * or visit www.oracle.com if you need additional information or have any
23   * questions.
24   */
25  
26  package com.sun.xml.internal.ws.api.server;
27  
28  import com.sun.xml.internal.ws.api.message.Packet;
29  import com.sun.xml.internal.ws.api.server.WSEndpoint.PipeHead;
30  
31  /**
32   * Represents a transport back-channel.
33   *
34   * <p>
35   * When the JAX-WS runtime finds out that the request
36   * {@link Packet} being processed is known not to produce
37   * a response, it invokes the {@link #close()} method
38   * to indicate that the transport does not need to keep
39   * the channel for the response message open.
40   *
41   * <p>
42   * This allows the transport to close down the communication
43   * channel sooner than wainting for
44   * {@link PipeHead#process}
45   * method to return, thereby improving the overall throughput
46   * of the system.
47   *
48   * @author Kohsuke Kawaguchi
49   * @author Jitu
50   */
51  public interface TransportBackChannel {
52      /**
53       * See the class javadoc for the discussion.
54       *
55       * <p>
56       * JAX-WS is not guaranteed to call this method for all
57       * operations that do not have a response. This is merely
58       * a hint.
59       *
60       * <p>
61       * When the implementation of this method fails to close
62       * the connection successfuly, it should record the error,
63       * and return normally. Do not throw any exception.
64       */
65      void close();
66  }