Showing posts from November, 2020

Coming in Apache Karaf 4.3.1: features JSON

The next Apache Karaf release (4.3.1) will support features definition in JSON format. Up to now, only XML was supported. It’s now possible to use either XML or JSON format. For instance, the following features repository using XML format: <features name="my-features-repo" xmlns=""> <feature name="my-feature" version="1.0-SNAPSHOT"> <feature>scheduler</feature> <bundle>mvn:org.example.bundle/my-bundle/1.0-SNAPSHOT</bundle> </feature></features> can now be defined using JSON format: { "name": "my-features-repo", "feature": [ { "name": "my-feature", "version": "1.0-SNAPSHOT", "feature": [ { "name": "scheduler" } ] "bundle": [ { "location": "mvn:org.example.bundle/my-bundle/1.0-SNAPSH

What's new in Apache Karaf 4.3.0

Apache Karaf 4.3.0 is an important milestone for the project and is the new main releases cycle. This release brings a lot of improvements, fixes, and new features. Winegrower This is not directly related to Apache Karaf 4.3.0, and I will do a blog specifically about Winegrower. However, Winegrower is a new great asset in the Karaf ecosystem. It provides a very elegant programming model with a simple/flat classloader model. It’s a concrete alternative to Spring Boot: full support of OSGi R7 annotations and programming model without the classloader complexity. It means that you can use your existing bundles in Winegrower. As Winegrower use an unique classloader, you can directly use pure jar (not necessary bundles) without any MANIFEST header the cepages is equivalent of spring boot starter, allowing to add turnkey features that you can use in your application extensions I will publish a blog about Winegrower soon. BoM To simplify the dependencies management when you create your runtime