cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r887570 - in /websites/production/cxf/content: cache/docs.pageCache docs/jax-rs-basics.html
Date Thu, 21 Nov 2013 17:48:44 GMT
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>



Mime
View raw message