Category Archives: Uncategorized

Jersey 2.0-m04 has been released

As some of you have already noticed, we have released Jersey 2.0-m04 a couple of days ago.

The list of all the resolved feature requests, tasks and issues in the Jersey 2.0-m04 sprint can be browsed in our Jersey Jira. In summary, the new milestone adds

  • Revamped programmatic resource modeling API (see the Resource class javadoc for some initial examples or look at the samples and tests for more)
  • Support for JAX-RS 2.0 Interceptors
  • Programmatic server-side API for sending chunked responses
  • Client and server API for SSE (Server Sent Events) processing
  • Introduced Grizzly asynchronous client transport (in addition to the default one that is based on the HttpURLConnection from Java SE).
  • Improved support for running Jersey in an OSGi containers
  • Ported several other Jersey 1.x features
    • Extension – media type mapping filter
    • HTTPS and Basic authentication support on the client-side
    • Cross-site request forgery protection filters
    • Multipart message processing support
  • Bunch of bug fixes and performance improvements

For a complete overview of the new Jersey API, please have a look at the Jersey 2.0-m04 API documentation. Note that this is an early development preview release and the parts of the API are moving frequently so you can still expect significant changes in the API. The most significant change in this release is the refactored programmatic API where we made sure we support the full set of features available via JAX-RS annotations and we even went further that that. You may want to also bookmark the Jersey 2.0 snapshot API documentation link to if you want to see the latest development version of the API. Also feel free to browse Jersey 2 source code and check out the examples that leverage JAX-RS 2.0 Client API as well as Jersey 2 server-side programmatic API.

In this sprint we also started work on an updated user guide that also contains an initial draft of a migration guide for your Jersey 1.x code. Again, as with API documentation, you may want to bookmark the Jersey 2.0 snapshot user guide to see the very latest updates to the guide.

The second early draft of JAX-RS 2.0 specification is available at the JCP web site. The latest version of JAX-RS 2.0 API documentation is also available for browsing here. This link and more information about the JAX-RS project can be found on the JAX-RS project web site.

As mentioned in the feature summary above, appart from support for Java SE HTTP Server, Grizzly 2 HTTP server and Servlet containers on the server side and HTTPURLConnection-based client transport connectors, the current milestone release adds improved support for OSGi containers and new Grizzly asynchronous client transport connector. All the 2.0-m04 milestone binaries, including the source & apidocs jars, are available for download under the Jersey 2.0 maven root group identifier org.glassfish.jersey from the central maven repository as well as from the maven repository.

To run Jersey 2 you’ll need the core artifacts:


Additionally, you’ll need a Jersey container implementation, e.g. Jersey Grizzly2 HTTP container:


Have fun looking around, running examples, testing new additions to the set of features and playing with Jersey 2. To provide feedback send us an email to our users mailing list (archived here)

or log discovered bugs & new feature requests in Jersey Jira issue tracker.

Introducing Web Services Interoperability Technology (WSIT)

I recently joined Sun Microsystems, Inc. to work in the exciting field of Java Web Services technologies. Thus it is not surprising that I am going to touch on this technology here.

As many of you probably know, web services play an integral part in SOA driven design and development nowadays. This technology emphasizes interoperability and platform independence, which makes it a very important part of most enterprise integration solutions today.

However until recently – in order to set up and deploy a web service and successfully configure its client(s) – lots of duplicated manual administration was required on both sides when configuring all those “extra” features, such as atomic transactions, secured communication, reliable messaging etc. Another issue one had to consider with such advanced web service communication channel configuration was a possible loss of interoperability. Many people working in this area could feel this strong need to change it: to automatize configuration of communication channel as much as possible, so that both – client and service – just need to agree on a set of applicable communication policies and express those in a commonly understandable and widely accepted language.

But this is changing right now! A set of WS-* specifications was introduced to address these issues. Today I am a part of project Tango where we, together with other Sun’s Java Web Services engineers involved, are focused on addressing these issues. One of the main goals of this project is to bring to life the new generation of Web Services Interoperability Technology (WSIT) – an open source java implementation of WS-* specifications that enables all this cool stuff to happen while also ensuring interoperability with other vendors.

So are you interested? If yes, the development version of WSIT is there ready for you to download and play with. And don’t forget to try it out together with new 5.5 beta release of NetBeans™ IDE and its WSIT modules.

…and – of course – if possible, you should definitely come and join our Java One sessions, where you can

Java One conference is indeed a great place where you can get lots of new information about our work and of course, about Java.