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.

Continue reading Micro-Benchmarking JAX-RS Applications

JAX-RS.next and Reactive Jersey Client – Slides from CZJUG presentations

Yesterday I was given the opportunity to speak at our local Java User Group meeting (CZJUG). I was covering two topics – JAX-RS.next and Reactive Jersey Client. In this post I’d like to share the used slide-decks and some additional resources.

Continue reading JAX-RS.next and Reactive Jersey Client – Slides from CZJUG presentations

Jersey 2.15 is released

We have released Jersey 2.15 – Reference Implementation of JAX-RS 2.0 (Java API for RESTful Web Services). The JAX-RS 2.0 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.

Continue reading Jersey 2.15 is released

Reactive Jersey Client, Part 2 – Usage and Supported Libraries

Reactive Jersey Client API is a generic API allowing end users to utilize the popular reactive programming model when using Jersey Client. This part of the series describes API, usage and lists all supported reactive libraries.

Continue reading Reactive Jersey Client, Part 2 – Usage and Supported Libraries

Filtering JAX-RS Entities with Standard Security Annotations

Few times I’ve ran into a situation in which I wanted to return only a part of entity I was working with, in my service, to the client-side. Feature that would allow me to send this partial set of fields should not only be driven by my own filtering rules but it also should take into consideration application roles the current user is in. It’s not an uncommon use-case I’d say so in Jersey we’d come up with the Entity Filtering concept that would allow you to do such a thing: sending subgraph of entities from server to client (and vice versa), define your own filtering rules and make sure users get only the fields they are supposed to see.

Continue reading Filtering JAX-RS Entities with Standard Security Annotations

Managed JAX-RS Client

Common use-case in web-application development is aggregating data from multiple resources, combining them together and returning them to the used as XML/JSON or as a web page. In Java world these (external) resources can be approached via standardized Clients from JAX-RS 2.0. Jersey 2 application can use so-called managed client mechanism that brings a convenient way to create JAX-RS clients and web targets for such resources.

Continue reading Managed JAX-RS Client