Older Articles

What to do when JAX-RS cannot find it’s Providers aka My message body writer is not used

Mar 24, 2015 | Michal Gajdoš

One of the reasons why I wrote this article is my, rather unusual, encounter with a missing message body writer in a Jersey 1 test application. This problem of mine occurred during collecting of data to get a Jersey 1 performance baseline in order to see where Jersey 2 stands when compared to its predecessor. The problem is described at […]

JAX-RS Providers on Client and on Server

Mar 17, 2015 | Michal Gajdoš

In this article I’d like to explain two things. First, what to do when you want to restrict JAX-RS providers to be used on, for example, client-side only. And second, what are the issues (and how to solve them) with injecting providers when you create and register instances of them directly. Constraining JAX-RS providers to particular runtime […]

Jersey 2.x Client on Android - Take 2

Mar 17, 2015 | Jakub Podlesak

In my earlier post i described what we did in Jersey version 2.16 in order to make Jersey client work on Android. The whole idea was that after separating JAXB providers out from the Jersey core module, things would just work out of the box. Unfortunately, it turned out the JAXB provider separation was not enough. Basic things worked […]

Jersey 2.17 Has Been Released

Mar 16, 2015 | Jakub Podlesak

We have just released the 2.17 version of Jersey, the open source, production quality, reference implementation of JAX-RS 2.0. […]

Another tiny step forward for Jersey JDK container

Mar 11, 2015 | Adam Lindenthal

Fellow readers (hope it is not too exaggerated to use plural, I like to believe there is more than one of you), this time it will be no rocket science. I know it never was, but today’s post is basically just a little more than a overgrown tweet. But sometimes even a tiny new feature … Continue reading Another tiny step forward for Jersey JDK […]

JAX-RS Client API Groovy DSL, prototype

Mar 11, 2015 | Libor Kramoliš

Groovy language is DSL friendly language. See http://groovy-lang.org/dsls.html or http://groovy.codehaus.org/Writing+Domain-Specific+Languages. Let me share with you my JAX-RS Client API Groovy DSL prototype, code is available in GitHub https://github.com/shamoh/jersey-groovy repo. It just supports GET and POST methods. This is really just […]

Java 8 default method and REST

Mar 11, 2015 | Adam Lindenthal

If you are following new Java features coming with each version, you certainly did not miss the default methods introduced with Java SE 8. This new language construct gives you the ability to define the default method implementation directly in the interface. If the (non-abstract) subclass does not create its own implementation, the default […]

Jersey CDI Integration – Few Notes and EAR Support

Mar 11, 2015 | Michal Gajdoš

During our last sprint I was porting support for CDI injections for EARs that contain multiple JAX-RS web applications (WARs). This worked fine in Jersey 1 and it works on WebLogic but we didn’t have support for these kind of deployments directly in Jersey (which means that Glassfish was affected as well) until this very moment. I’d like to […]

JAX-RS Message Body Writer&Reader using Kryo serialization framework

Mar 11, 2015 | Libor Kramoliš

In this post I’m gonna show you how simple it is to enhance JAX-RS application by a new body format. In this example I use Kryo serialization framework. Kryo serialization framework Kryo is a fast and efficient object graph serialization framework for Java. The goals of the project are speed, efficiency, and an easy to use API. The project […]

Checkstyle matters to Jersey too ...

Mar 06, 2015 | Michal Gajdos

Last week Pavel wrote and published an interesting blog post about Why Checkstyle matters … I remember how he was describing his encounter with JeroMQ to me. Especially the part where he wasn’t able to build the project for a few times because of the Checkstyle issues that pop-up right after he executed the build. […]

When to Use JAX-RS Class-path Scanning Mechanism

Mar 03, 2015 | Jakub Podlešák

The short answer is: never!. I have seen several nasty (so called) “bugs” caused by this feature so that i felt like sharing this little advice via blog post. […]

Jersey Monthly Newsletter – February 2015

Feb 27, 2015 | Michal Gajdos

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. […]

Jersey further improves CDI integration

Feb 25, 2015 | Adam Lindenthal

Previous Jersey release 2.15 introduced new container agnostic CDI support. Nice feature that brings the capabilities of dependency injection also outside of the “big” containers. The well-known @Inject annotation can be used even in a lightweight http server, such as Grizzly. […]

Micro-Benchmarking JAX-RS Applications

Feb 19, 2015 | Michal Gajdos

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. […]

1 Funny Thing Not to Forget While Profiling on Tomcat

Feb 19, 2015 | Adam Lindenthal

Unless you write only very small apps, memory leaks are unfortunately common pain you’ll have to face earlier or later. Especially if your code will be running in some sort of a container that uses pools of reusable threads […]

Jersey 2.16 has been released

Feb 14, 2015 | Libor Kramolis

Jersey team is happy to announce availability of Jersey 2.16. […]

Jersey 1.19 is released

Feb 13, 2015 | Michal Gajdos

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. […]

Container Agnostic CDI Support In Jersey

Feb 13, 2015 | Jakub Podlešák

At the time of this writing, Java SE support is being discussed as one of important additions to CDI 2.0 specification. Existing CDI implementations brought this feature already, only container bootstrapping has not yet been standardized. In Jersey version 2.15 we introduced Weld SE support, so that people could take advantage of CDI features also when running in Java SE environment. […]

Performance Improvements of Sub-Resource Locators in Jersey

Feb 12, 2015 | Michal Gajdos

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. […]

Jersey 2 Performance

Feb 12, 2015 | Jakub Podlešák

During my sabbatical week in January i have done some performance improvements in Jersey server core module. These changes are already included in Jersey version 2.16. […]

Upload file to MongoDB using Jersey 2

Feb 11, 2015 | Adam Lindenthal

The NoSQL databases are gaining increasing popularity. MongoDB, being one of the most established among them, uses JSON data model and offers great scalability and ease of use due to the dynamic data schemas. […]

Jersey’s Entity Filtering meets Jackson

Feb 04, 2015 | Michal Gajdos

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. […]

Jersey 2.x Client on Android

Jan 27, 2015 | Jakub Podlešák

Jersey Client has been enabled for Android devices. This post describes what has been done in the recent Jersey snapshot version, how basic things were tested in Android environment, and what to do next. […]

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

Jan 27, 2015 | Michal Gajdos

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. […]

Intercepting Jersey resource method calls

Jan 21, 2015 | Michal Gajdos

Sometimes it would be nice to have a possibility to wrap a resource method call. Imagine a use-case in which you need to process business code, placed in your resource method, in a transaction (open transaction before resource method, commit or rollback transaction at the end) or apply some advanced security constraints. […]

Reactive Jersey Client using Java 8, RxJava and Netflix Hystrix

Jan 17, 2015 | Libor Kramolis

In this post I will show you how to use Jersey Client Reactive API, it’s RxJava Observable support together with Netflix Hystrix, latency and fault tolerance library. […]

Jersey 2.15 is released

Jan 16, 2015 | Michal Gajdos

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. […]

Reactive Jersey Client, Part 3 – Customization

Jan 07, 2015 | Michal Gajdos

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 SPI and implementation of support for custom reactive libraries. […]

Reactive Jersey Client, Part 2 – Usage and Supported Libraries

Jan 07, 2015 | Michal Gajdos

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. […]

Reactive Jersey Client, Part 1 – Motivation

Jan 07, 2015 | Michal Gajdos

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 motivation behind creating Reactive Jersey Client. […]

Jersey 2.6 has been Released: New and Noteworthy

Feb 21, 2014 | Michal Gajdos

As some of you may have already noticed, we’ve recently released Jersey 2.6. In this article I’d like to introduce some of the new features, important bug fixes and other noteworthy changes. […]

JSON in Query Params or How to Inject Custom Java Types via JAX-RS Parameter Annotations

Feb 11, 2014 | Michal Gajdos

Although I am not a big fan of sending JSON in other places than in the message body as the entity, for example in query parameter in case of requests, it’s not a rare use-case and the way how it can be solved in JAX-RS 2.0 gives me a nice opportunity to illustrate usage of two new interfaces, ParamConverterProvider and ParamConverter […]

Filtering JAX-RS Entities with Standard Security Annotations

Feb 04, 2014 | Michal Gajdos

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 […]

Handling JAX-RS and Bean Validation Errors with MVC

Jan 28, 2014 | Michal Gajdos

Since JAX-RS 2.0 you can use Bean Validation to validate inputs received from users and outputs created in your application. It’s a handy feature and in most cases it works great. But what if you’re using also MVC and you want to display custom error page if something goes wrong? Or what if you want […]

Updating Jersey 2 in GlassFish 4

Jan 21, 2014 | Michal Gajdos

Different life-cycles of Jersey 2 and GlassFish 4 arise a question how to make sure that ones GlassFish instance contains always the latest version of Jersey. This question is even more important in case you don’t want to download the nightly/promoted build every-time a new version of Jersey is released but you still want to […]

Managed JAX-RS Client

Jan 16, 2014 | Michal Gajdos

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 […]

Running Jersey 2 Applications on Heroku

Jan 09, 2014 | Michal Gajdos

In this article we’ll create a simple Jersey application deploy it in Jetty servlet container and everything will be hosted on Heroku. Create an Application To create a skeleton of Jersey 2 web-app that can be run on Heroku from the jersey-heroku-webapp archetype (available since Jersey 2.5), execute the following Maven command in the directory where you want the […]

Simplified WADL in Jersey 2.5.1

Jan 09, 2014 | Miroslav Fuksa

Added support for simplified WADL Jersey 2.5.1 was released and it contains a change in the way the WADL is generated. Prior to this version, the WADL contained all the resources available in the RESTful application. It had all resource including all OPTIONS methods and other support resources like /application.wadl itself. These supporting […]

Binding JAX-RS Providers to Resource Methods

Jan 08, 2014 | Michal Gajdos

When you register providers (such as filters and interceptors) in your application they’re associated and applied to each resource method by default. In other words they’re bound globally. For most cases this approach is sufficient but sometimes, especially when you want to use your provider only with a few methods, it’s not enough. JAX-RS 2.0 […]

Registering Resources and Providers in Jersey 2

Nov 19, 2013 | Michal Gajdos

There has been some confusion on StackOverflow lately about how to register JAX-RS resource classes and custom providers in Jersey 2. The main problem seemed to be finding and using correct properties and methods to configure a JAX-RS/Jersey application. In this article I’d like to discuss 3 ways how to configure such an application properly. Biggest […]

How to configure JDK logging for Jersey 2 tests

Nov 18, 2013 | Libor Kramoliš

Jersey uses JDK Logging API to log messages. One way how to configure JDK Logging is a properties file. In such case you have to set JVM system property java.util.logging.config.file to reference the properties file. Initially the logging configuration file logging.properties can look: #All attributes details handlers=java.util.logging.ConsoleHandler […]

Jersey 2 - Tracing support

Nov 16, 2013 | Libor Kramoliš

What is Jersey? This is my first Jersey related post so let me introduce Jersey framework. Jersey RESTful Web Services framework is open source, production quality, framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a JAX-RS (JSR 311 & JSR 339) Reference Implementation. Jersey framework […]

OAuth support in Jersey 2

Nov 15, 2013 | Miroslav Fuksa

OAuth with Jersey 2 In the Jersey release 2.3 the OAuth support was added. The OAuth support is described with examples in the Jersey documentation (OAuth).  OAuth 1 was migrated from Jersey 1.x. Server API for OAuth 1 was not changed too much and basic principles of usage stays the same as in Jersey 1.x. It supports authorization flow and […]

Monitoring of RESTful Jersey application

Aug 20, 2013 | Miroslav Fuksa

Jersey 2.1 contains a feature for monitoring of Jersey application. This feature is documented in Jersey documentation. In this blog post I am going to show how to use the monitoring in a Jersey application on a simple example. Jersey supports three areas of monitoring: Event Listeners that can listen to application and request events Calculation […]

JAX-RS 2.0 and Jersey 2.0 released!

Jun 13, 2013 | Marek Potociar

I’m very excited to announce that after 2+ years of prototyping, refactoring and development we have released the final version of both JAX-RS 2.0 API and Jersey 2.0 which provides Reference Implementation for JAX-RS 2.0. Those of you, who followed my earlier updates know, that Jersey 2.0 has been heavily refactored to accomodate significant changes […]

Jersey 1.17 is released

Jan 24, 2013 | Michal Gajdos

We have released the 1.17 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started […]

Jersey 2.0-m09 has been released

Oct 15, 2012 | Marek Potociar

With JavaOne 2012 over we are trying to resume the usual Jersey 2.0 release cycle and I am happy to announce that Jersey 2.0-m09 has been released. The last sprint was relatively short especially with all the additional distracting tasks we had to focus on prior to and during the JavaOne week. The number of […]

Jersey 2.0-m08 is out (and so is 2.0-m07…)

Sep 27, 2012 | Marek Potociar

I’ve been pretty busy lately preparing JAX-RS 2.0 specification for a Public Review release as well as updating Jersey to accomodate recent JAX-RS 2.0 API changes in areas of server-side asynchronous API, client and URI builder API as well as some other minor changes. Preparing for my JavaOne presentations that’s just round the corner also […]

Jersey 2.0-m06 has been released

Aug 10, 2012 | Marek Potociar

Here in Prague, July and August are the main “vacation” months of the year. With that in mind we decided to plan for a longer Jersey sprint run. So after a time little bit longer than usual I am happy to announce that another Jersey 2.0-m06 milestone has been just released. As part of the release, several […]

Jersey 2.0 Integrated into GlassFish 4.0

Jun 29, 2012 | Jakub Podlesak

The latest promoted build of GlassFish 4.0 (glassfish-4.0-b43.zip) now contains upgraded Jersey version, 2.0-m05. Users are getting an early access to the implementation of some parts of the JAX-RS 2.0 API Early Draft Review 3. The appropriate JAX-RS bundle, version 2.0-m09 , gets bundled into GlassFish 4.0 as well. What should work The simple […]

Jersey 2.0-m05 has been released

Jun 26, 2012 | Marek Potociar

Yesterday, the Jersey team has released Jersey 2.0-m05. The theme of the scrum sprint was to integrate Jersey 2.0 into the development trunk of GlassFish and switch core Jersey code to the latest JAX-RS API which contains significant changes in message filtering API. I am happy to report that we succeeded in delivering both main goals. […]

Jersey 2.0-m04 has been released

May 17, 2012 | Marek Potociar

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 […]

Jersey 2.0-m03 has been released

Apr 17, 2012 | Marek Potociar

Again, a few weeks passed, another Jersey sprint is over and we are happy to announce that a new milestone release of Jersey 2.0 is out. The list of all the resolved feature requests, tasks and issues in the Jersey 2.0-m03 sprint can be browsed in our Jersey Jira. In summary, the new milestone adds […]

Jersey 2.0-m02 has been released

Mar 28, 2012 | Marek Potociar

After the first milestone release of Jersey 2.0 we continue running our development sprints. A few weeks passed, another sprint is over and we are happy to announce that a new milestone release of Jersey 2.0 is out. The main theme for the Jersey 2.0-m02 sprint was to bring in the JAX-RS 2.0 asynchronous server-side […]

Jersey 1.12 is released

Feb 22, 2012 | Jakub Podlesak

We have just released the 1.12 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting started […]

First milestone build of Jersey 2.0

Feb 22, 2012 | Marek Potociar

I am excited to announce that we have just released Jersey 2.0-m01, the first milestone build of the next major release of Jersey based on a completely new code base, fresh core design and implementing the upcoming JAX-RS 2.0 API (currently in it’s early draft version). Jersey Jira issue tracker contains the full Jersey 2.0-m01 release notes. As […]

Jersey 1.11 is released

Dec 13, 2011 | Jakub Podlesak

Yesterday, we have released the 1.11 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting […]

On JAX-RS 2.0 from Devoxx

Nov 17, 2011 | Marek Potociar

Yesterday I gave a talk at Devoxx on what’s coming in JAX-RS 2.0 that is planned to go final in the middle of the 2012. On the stage it was hard to see the people because of the spot lights beaming at me, however I could notice that the cinema room for about 450 people […]

Jersey 1.10 is released

Nov 04, 2011 | Jakub Podlesak

Yesterday, we have released the 1.10 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read the getting […]

Jersey 1.9 is released

Sep 05, 2011 | Jakub Podlesak

On the last Friday, we have released the 1.9 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read […]

Jersey 1.8 is released

Jun 28, 2011 | Jakub Podlesak

On the last Friday, we have released the 1.8 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read […]

Oracle Java Developer Conference 2011 v Brně

May 27, 2011 | Jakub Podlesak

Včerejší Java konference v Brně byla podle mě hodně povedená. Na akci přijelo nakonec víc lidí, než kolik naznačovala předběžná registrace, takže kapacita místností byla naplněná, někdy dokonce až mírně přeplněná. Atmosféra konference byla příjemná, bylo vidět že přijeli hlavně vývojáři. Dobrým znamením bylo, že valná většina účastníků vydržela […]

Jersey 1.7 is released

May 24, 2011 | Jakub Podlesak

On the last Friday, we have released the 1.7 version of Jersey, the open source, production quality, reference implementation of JAX-RS. The JAX-RS 1.1 specification is available at the JCP web site and also available in non-normative HTML here. For an overview of JAX-RS features read the Jersey user guide. To get started with Jersey read […]

Back to top

Last Published: 2017-09-06.