tree: 113fca486a571129a594e07725ba0af27382f569 [path history] [tgz]
  2. karaf-jdbc-example-api/
  3. karaf-jdbc-example-command/
  4. karaf-jdbc-example-features/
  5. karaf-jdbc-example-provider/
  6. pom.xml

Apache Karaf JDBC example


This example shows how to use simple JDBC implementation using Pax-JDBC with an Apache Derby embedded database.

It provides a very simple command, calling a BookingService.


  • karaf-jdbc-example-api is a common bundle providing the Booking POJO and the BookingService interface.
  • karaf-jdbc-example-provider is a very simple Karaf bundle providing BookingService implementation.
  • karaf-jdbc-example-command is the actual bundle providing the Karaf shell command.
  • karaf-jdbc-example-features provides a Karaf features repository used for the deployment.


The build uses Apache Maven. Simply use:

mvn clean install

Features and Deployment

On a running Karaf instance, register the features repository:

karaf@root()> feature:repo-add mvn:org.apache.karaf.examples/karaf-jdbc-example-features/LATEST/xml

Then, you can install the service provider feature:

karaf@root()> feature:install karaf-jdbc-example-provider

The shell commands can be installed with the corresponding feature:

karaf@root()> feature:install karaf-jdbc-example


Once you have installed the feature, you can see new commands available in the Apache Karaf shell.

booking:add command adds a new booking in the booking service. For instance:

karaf@root()> booking:add Doe AF520

booking:list command lists the current bookings:

karaf@root()> booking:list
ID      │ Flight │ Customer
1       │ AF520  │ Doe

booking:get command get the booking with id:

karaf@root()> booking:get 1
ID      │ Flight │ Customer
1       │ AF520  │ Doe

booking:remove command removes a booking from the booking service:

karaf@root()> booking:remove 1