Older Articles
Oct 2, 2023 | Jan Supol
Feb 3, 2023 | Jan Supol
Nov 15, 2022 | Jan Supol
Sep 8, 2022 | Jan Supol
Jul 22, 2022 | Jan Supol
Jun 24, 2022 | Jan Supol
Oct 21, 2021 | Jan Supol
Dec 24, 2020 | Jan Supol
Dec 03, 2020 | Jan Supol
Oct 12, 2020 | Jan Supol
Oct 10, 2020 | Jan Supol
March 1, 2020 | Jan Supol
Jan 13, 2020 | Jan Supol
Jan 7, 2020 | Jan Supol
Oct 4, 2019 | Jan Supol
Sep 10, 2019 | Jan Supol
Jan 28, 2019 | Jan Supol
Jersey 2.28 has been released and is available in maven central! Jersey 2.28, the first Jakarta EE implementation of JAX-RS 2.1 has finally been released. […]
Jan 26, 2019 | Jan Supol
That’s right, Eclipse Glassfish 5.1.0.RC2, the Jakarta EE implementation, has been published in maven central. […]
Jan 22, 2019 | Jan Supol
Jersey 2.28-RC4 is available in maven central! Jersey 2.28-RC4, the first Jakarta EE publicly available version of Jersey, is an almost final version […]
Jan 20, 2019 | Jan Supol
Glassfish Application Server has been the reference implementation of Java EE since Java EE 5. […]
Dec 26, 2018 | Jan Supol
The year 2018 is to be over soon. Christmas is over, but there is no Jakarta EE for a Christmas present – the Jakarta EE release is postponed to January 2019. Not even Jersey 2.28 is released. […]
Apr 13, 2018 | Jan Supol
We have just released the 2.27 version of Jersey, the open source, production quality, reference implementation of JAX-RS 2.1. […]
Apr 03, 2018 | Jan Supol
Jersey is on a journey to Eclipse Foundation. There are some consequences, unfortunately, the visible activity around the project is not great. The number of open issues is growing. New pull requests are not accepted. All because of the work being done on the donation […]
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 […]
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 […]
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 […]
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. […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]
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. […]
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. […]
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. […]
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. […]
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 […]
Feb 14, 2015 | Libor Kramolis
Jersey team is happy to announce availability of Jersey 2.16. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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. […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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. […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]
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 […]