Hi

CXF now supports 0.8 version of the jax-rs api (with few exceptions) [1] and 
the documentation has been updated [2].

You should have no problems at all upgrading from 0.6 to 0.8 except for these 
two cases :

1. MessageBodyWriter and MessageBodyReader interfaces have been updated - if 
you do create custom message body providers you'd only need to recompile after 
changing the signatures, there won't be a need for changing the actual 
provider's code. 
Note that if you use Spring to register the providers then you'd need to change 
jaxrs:entityProviders to jaxrs:providers.

2. Before the upgrade it were not possible to inherit parameter-level 
annotations from interfaces/superclasses
ex.

public interface Book {
   @Path("/books/{id}")
   Response get(@PathParam("id") String id);
}

It were possible to inherit @Path but not @PathParam, hence the impl class had 
to be written like this :

public class BookImpl implements Book {
    Response get(@PathParam("id") String id);
}

This has been fixed, but note that you have to remove @PathParam from your impl 
class for the inheritance to work - this per spec - if a given method provides 
some JAX-RS annotations then the further lookup should not continue.

About the future plans. I'm happy that we've got a 0.8 version support. I don't 
expect any significant changes but the various finer improvements added to the 
api/spec up until 1.0 final. Thus I think it's very realistic to expect that 
CXF will eventually support the 1.0 final version of JAX-RS. Personally I'm not 
planning to do a lot of CXF JAX-RS work during the next 2 months, I'm on 
holidays for the most part of August and I won't have much time this month 
either - though I will do my best to reply to queries and will probably do 
another merge with some minor 0.8 fixes before the end of July. I reckon we 
might get a 0.9 support sometime in the end of September/early October and the 
final version support a month or two afterwards. Note that the final JAX-RS RI 
(Jersey) is expected to ship in the end of September.

As such I'd like to encourage the CXF JAX-RS users to consider creating patches 
whenever possible/feasible/realistic. I'd like to thank everyone who has tried 
to experiment with CXF JAX-RS, provided some feedback, and especially those who 
have contributed various fixes/custom providers/, etc. For CXF JAX-RS to move 
forward more community support is needed. If that worries you a bit :-) then 
please do not hesitate to experiment with other JAX-RS implementations.

If you're willing to consider contributing some code/fixes - then please have a 
look at the end of the wiki page at [2]. I'll add some corresponding JIRAs 
later on. For ex, I'm pretty bad when working with Dates/Calendars :-) - if 
someone can provide a fix for a RequestImpl which deals with If-Modified-Since 
header the it would be cool. Try to experiment with other advanced features 
like CacheControl, Etag, Cookies, etc and provide fixes when you get some bugs. 
If you're after doing some advanced URI manipulation then consider completeing 
the URIBuilderImpl, etc...We'll get it all fixed eventually - but it may take a 
bot longer then you'd expect if no contributions will be made...

Enjoy, Sergey


[1] https://jsr311.dev.java.net/nonav/releases/0.8/index.html
[2] http://cwiki.apache.org/CXF20DOC/jax-rs-jsr-311.html

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Reply via email to