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>


Reply via email to