Author: buildbot
Date: Thu Nov 21 17:48:43 2013
New Revision: 887570
Log:
Production update by buildbot for cxf
Modified:
websites/production/cxf/content/cache/docs.pageCache
websites/production/cxf/content/docs/jax-rs-basics.html
Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/cxf/content/docs/jax-rs-basics.html
==============================================================================
--- websites/production/cxf/content/docs/jax-rs-basics.html (original)
+++ websites/production/cxf/content/docs/jax-rs-basics.html Thu Nov 21 17:48:43
2013
@@ -173,11 +173,32 @@ Apache CXF -- JAX-RS Basics
<h2><a shape="rect" name="JAX-RSBasics-DynamicFeatures"></a>Dynamic
Features</h2>
-
+<p><a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/DynamicFeature.html"
rel="nofollow">Dynamic Feature</a> is a server side feature that can be used
to attach request and response filters as well as reader and writer
interceptors to specific resource methods. It is an alternative approach to
using the NameBindings and offer a finer-grained control over the binding
process. </p>
<h2><a shape="rect" name="JAX-RSBasics-Exceptions"></a>Exceptions</h2>
+
+<p>Dedicated exception classes representing various HTTP error or redirect
conditions have been introduced, see the 'javax.ws.rs' Package <a shape="rect"
class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/package-frame.html"
rel="nofollow">Exceptions section</a>.</p>
+
+<p>For example, instead of throwing a "new WebApplicationException(404)" one
is better to do "new NotFoundException()". The finer-grained exception
hierarchy allows for a finer-grained support of exception mappers. It also
opens a way to check WebApplicationException and all of its subclasses when
catching the HTTP exceptions on the client side.</p>
+
+<p>Note that on the client side, ProcessingException can be used to catch
client-related exceptions while ResponseProcessingException can be used to
narrow down the client side exceptions specifically related to processing the
response message. </p>
+
<h2><a shape="rect" name="JAX-RSBasics-Suspendedinvocations"></a>Suspended
invocations</h2>
+
+<p>One of the best JAX-RS 2.0 features is the support for server-side
asynchronous invocations. Please see the <a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/container/AsyncResponse.html"
rel="nofollow">AsyncResponse</a> documentation which provides a very good
overview of this feature.</p>
+
+<p>See also this <a shape="rect" class="external-link"
href="http://svn.apache.org/repos/asf/cxf/trunk/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookContinuationStore.java">test
resource</a>.</p>
+
+<p>Typically, the resource method accepting AsyncResponse will either store it
and start a new thread to finish the request, the method will return and the
invocation will be suspended, then eventually another thread (either the one
which initiated an internal job or some other thread) will resume the suspended
call. Note in this case the invocation will be suspended indefinitely until it
is resumed.</p>
+
+<p>Another approach is to have AsyncResponse suspended for a limited period of
time only and also register a TimeoutHandler. The latter will be invoked when
the invocation is resumed by the container after the timeout has expired and
the handler will either complete the invocation or suspend it again till it is
ready to finish it.</p>
+
+<p>This feature can help developers write very sophisticated asynchronous
applications. </p>
+
<h2><a shape="rect" name="JAX-RSBasics-Parameterconverters"></a>Parameter
converters</h2>
+
+<p><a shape="rect" class="external-link"
href="https://jax-rs-spec.java.net/nonav/2.0/apidocs/javax/ws/rs/ext/ParamConverterProvider.html"
rel="nofollow">ParamConverterProvider</a> can be used to manage the conversion
of custom Objects to String and vice versa on the server and client sides, when
processing JAX-RS parameters representing URI parts or headers and when a
default conversion mechanism does not work. For example, java.util.Date
constructor accepting a String may have to be replaced a custom ParamConverter.
</p>
+
<h2><a shape="rect" name="JAX-RSBasics-Beanparameters"></a>Bean parameters</h2>
<h2><a shape="rect"
name="JAX-RSBasics-Updatestothematchingalgorithm"></a>Updates to the matching
algorithm</h2>
<h2><a shape="rect"
name="JAX-RSBasics-Injectionintosubresources"></a>Injection into
subresources</h2>
@@ -185,7 +206,6 @@ Apache CXF -- JAX-RS Basics
<h3><a shape="rect"
name="JAX-RSBasics-AsynchronousInvocations"></a>Asynchronous Invocations</h3>
<h3><a shape="rect" name="JAX-RSBasics-Responseinterfaceupdates"></a>Response
interface updates</h3>
-
<h1><a shape="rect" name="JAX-RSBasics-Resourceclass"></a>Resource class</h1>
<p>A resource class is a Java class annotated with JAX-RS annotations to
represent a Web resource. Two types of resource classes are available: root
resource classes and subresource classes. A root resource class is annotated
with at least a @Path annotation, while subresource classes typically have no
root @Path values. A typical root resource class in JAX-RS looks like this
below:</p>