I am an Open Source Architect at Talend working full time on the Apache projects Camel, CXF, Karaf and Aries. On my blog you will find the latest news from the Open Source communities I work in. I also write tutorials about OSGi, services and integration.

Blog

The declarative services (DS) spec has some hidden gems that really help to make the most out of your application.
Use the DS spec annotations to define your component
Some older articles about DS define the components using xml. While this is still possible it is much simpler to use annotations for this purpose.
There are 3 sets of annotations available bnd style, felix style and OSGi DS spec style.…

You may already know the old CXF LoggingFeature (org.apache.cxf.feature.LoggingFeature). You added it to a JAXWS endpoint to enable logging for a CXF endpoint at compile time.
While this already helped a lot it was not really enterprise ready. The logging could not be controlled much at runtime and contained too few details. This all changes with the new CXF logging support and the up coming Karaf Decanter.
Logging feature in CXF 3.1.0
In CXF 3.…

Some time ago I did some CXF performance measurements. See How fast is CXF ? - Measuring CXF performance on http, https and jms.
For cxf 3.0.0 I did some massive changes on the JMS transport. So I thought it is a good time to compare cxf 2.x and 3 in JMS performance. My goal was to reach at least the original performance. As my test system is different now I am also measuring the cxf 2.x performance again to have a good comparison.
Test System
Dell Precision with Intel Core i7, 16 GB Ram,…

Apache karaf is an open source OSGi server developed by the Apache foundation. It provides very convenient management functionality on top of existing OSGi frameworks. Karaf is used in several open source and commercial solutions.
Like often convenience and security do not not go well together. In the case of karaf there is one known security hole in default installations that was introduced to make the initial experience with karaf very convenient. Karaf by default starts an ssh server.…

Nicely timed as a christmas present Apache Karaf 3.0.0 http://karaf.apache.org was released on the 24th of December. As a user of karaf 2.x you might ask yourself why to switch to the new major version. Here are 10 reasons why the switch is worth the effort.
External dependencies are cached locally now
One of the coolest features of karaf is that it can load features and bundles from a maven repository. In karaf 2.…

In this talk from WJAX 2013 I show best practices for OSGi development in a practical example based around an online voting application.
The UI allows to vote on a topic and shows the existing votes in a diagram. It is done in Javascript and HTML using jQuery and google graph. Additionally votes can be sent using twitter, irc and karaf commands. The image below shows how to vote for the topic camel using your twitter status.
WJAX 2013 - Best Practices für Services und Integration in OSGi.…

By default OSGi services are only visible and accessible in the OSGi container where they are published. Distributed OSGi allows to define services in one container and use them in some other (even over machine boundaries).

On thursday I had a talk about Apache Camel at W-JAX http://jax.de in Munich. Like on the last conferences there was a lot of interest in Camel and the room was really full. You can find the slides "Integration ganz einfach mit Apache Camel" here and the sources for the examples on github https://github.com/cschneider/camel-webinar.
On Friday I joined the Eclipse 4 RCP workshop from Kai Tödter. Learned a lot about the new Eclipse. At last Eclipse RCP programming is becoming easier.

I just did my ApacheCon talk about OSGi best practices.It was the last slot but the room was still almost full. In general the OSGi track had a lot of listeners and there were a lot of talks that involved Apache Karaf. So I think that is a nice sign for greater adoption of OSGi and Karaf.
You can find the Slides at google docs. https://docs.google.…

Practical Camel example that polls from a database table and sends the contents as XML to a jms queue. The route uses a JTA transaction to synchronize the DB and JMS transactions. An error case shows how you can handle problems.

Yesterday evening I did a talk about Apache Karaf and OSGi best practice together with Achim Nierbeck https://twitter.com/#!/anierbeck. Achim did the first part about OSGi basics and Apache Karaf and I did the second part about OSGi best practices.
One slide from the presentation about Karaf shows the big number of features that can be installed easily.…

Today the 2.2.6 Version of Karaf was released http://karaf.apache.org/index/community/download.html. It incorporates more than 80 fixed jira issues https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12319142.
One important usability improvement is the features:chooseurl command. It allows to add feature files for well known products like Apache Camel or Apache CXF in a much simpler way than the features:addurl command.…