Friday Feb 27, 2015

Jersey Monthly Newsletter – February 2015

Jersey team has become more active in writing blog posts so I’ve decided to give it a try and publish a short summary of these posts and maybe something more at the end of each month. This first post focuses heavily on Jersey but I’d like to include interesting articles from more sources about the world of JAX-RS and REST services in the next months.

At the beginning I’d like to mention a page where you can always find information about the latest released Jersey 1.x and 2.x. This includes links to the release notes, API docs, user guide and a blog post related to that release. It’s called Latest Jersey Versions and it is available on this very site.

But lets get into more interesting stuff. One of the goals we had in our Jersey sprints in February was performance. Articles Jersey 2 Performance and Performance Improvements of Sub-Resource Locators in Jersey dive into the details what we did to improve performance in version 2.16 and provide comparison with older versions as well. We also prepared a set of tools to run benchmarks with your own JAX-RS (server/client) applications – they are described in Micro-Benchmarking JAX-RS Applications. Nobody’s perfect and we (our injection framework) had some memory leaks when an application was deployed on a servlet container like Tomcat/Jetty. Adam has been investigating this and he wrote a short article about finding memory leaks in Jersey applications on Tomcat. You can find it here – One Funny Thing Not to Forget While Profiling on Tomcat.

More in my original post on 

Thursday Feb 19, 2015

Micro-Benchmarking JAX-RS Applications

Sometimes you want to examine what impact would a new JAX-RS filter have on performance of your application. Whether your custom message body provider is as fast as you though or you simply want to find out the throughput of your JAX-RS resources or client instances. Recently we were looking into this area and we’ve created few utilities that may make your life easier if you want to write micro-benchmarks for JAX-RS applications.

Benchmarks I am going to focus on are based on JMH tool from JDK. If you’ve never encountered JMH I highly recommend and encourage you to go through their samples which will show you the main features of the tool. In under 30 minutes you’ll be able to write your own benchmarks.

But lets get back to JAX-RS and Jersey – the main goal of bringing the support for micro-benchmarks was to measure the values (e.g. throughput) as precisely as possible for both, server and client, without any unnecessary interferences.

We’ve introduced a new module, jersey-test-framework-util, with some handy utilities to write your own benchmarks. The module is already available in the workspace and in some time it’s going to be also in Jersey 2.17.

More in my original post on 

Friday Feb 13, 2015

Jersey 1.19 is released

We have released Jersey 1.19 – Reference Implementation of JAX-RS 1.1 (Java API for RESTful Web Services). The JAX-RS 1.1 specification is available at the JCP web site.

In this article I’d like to introduce some of the new features, important bug fixes and other noteworthy changes.

More in my original post on 

Thursday Feb 12, 2015

Performance Improvements of Sub-Resource Locators in Jersey

There were many performance improvements since Jersey 2 first came out almost 2 years ago. Jakub and I decided to present some of the latest ones in our recent articles. Jakub took a look at general performance gains in Jersey in his Jersey 2 Performance. I'll try to cover the change we introduced in Jersey 2.16 and that affected processing and performance of sub-resource locators in Jersey applications.

More in my original post on 

Wednesday Feb 04, 2015

Jersey's Entity Filtering meets Jackson

Support for Entity Filtering in Jersey introduces a convenient facility for reducing the amount of data exchanged over the wire between client and server without a need to create specialized data view components. The main idea behind this feature is to give you means that will let you selectively filter out any non-relevant data from the model before sending the data to the other party.

Entity Data Filtering is not a new feature but so far the support was limited to MOXy JSON provider. Since Jersey 2.16, we support also Jackson (2.x) JSON processor and in this article we’re going to take a look into it in more detail.

More in my original post on 


Mirror of


« March 2015