OSGi JAX-RS Connector 2.0 released

OSGi JAX-RS Connector 2.0 released

Back in January 2012, I wrote about the release of the OSGi JAX-RS connector in version 1.0. The connector gives you the opportunity to publish resources by registering @Path annotated types as OSGi services. I’m glad to say that the connector is in production use in many projects. It is pretty stable and as a result there was not much need for maintenance. So, why release a version 2.0? A few weeks ago I wanted to provide a small REST API using Apache Karaf as runtime. For this I also wanted to use the JAX-RS connector. Unfortunately, I had to accept that the connector was not able to run on Karaf and Felix because of certain issues.

I had to rework some of the connector internals and update the Jersey bundles to 1.13.0 to make it work. But, internal rework is no reason for a 2.0, right? Unless, during the rework something results in a breaking change. In version 1.0 of the connector all resources were registered on /. Sadly, this is not possible using Karaf and it’s HTTPService implementation. Therefore, the new root path of the registered resources is /services. The good news is that it’s configurable ;). You can use the config admin to change the root path. For this the service.pid is com.eclipsesource.jaxrs.connector. The only property supported is root which needs to be a valid path (like with servlets, it has to begin with /).

To put it all together, the internal rework, the Jersey update and the new path gave me reason to bump it to 2.0 to make the breaking change visible. I hope you like the new version. As a reminder here are the most important resources:

GitHub repository: https://github.com/hstaudacher/osgi-jax-rs-connector

p2 repository: https://hstaudacher.github.com/osgi-jax-rs-connector

As always, feel free to comment ;).