Chapter 1. Deploying using an OSGi bundle
Abstract
The usual and most common method of deploying into Apache Karaf is using an OSGi bundle.
1.1. OSGi overview
Apache Karaf is structured to use OSGi functionality. For more information about the structure of Apache Karaf see Chapter 2, Introduction to OSGi.
An OSGi bundle is a collection of JAR files with configuration files, bundled up into a JAR. For more information about creating OSGi bundles see Chapter 3, Building an OSGi Bundle.
1.2. Prerequisites
Before following the instructions make sure that you have completed the following prerequisites:
- Install Apache Karaf, following the instructions in the Red Hat Fuse Installing on Apache Karaf Guide
- Make sure you have installed and configured Maven as shown in Chapter 16, Building with Maven
1.3. Preparing the OSGi bundle
For this example we will use a quickstart, which is a ready-prepared bundle. Quickstarts can be found in FUSE_HOME/quickstarts
To find out more about how to build your own OSGi bundle, see Section 3.1, “Generating a Bundle Project” .
1.4. Deploying the OSGi bundle
The OSGi bundle is deployed into a running Apache Karaf instance.
Start Fuse from the bin direction by executing the
./fusescript in theFUSE_HOME/bin/directory.You will see the prompt:
karaf@root()>
-
On a separate terminal, navigate to the
FUSE_HOME/quickstarts/beginner/camel-logdirectory.camel-logis the name of the quickstart we will use to create a bundle. Compile the
camel-logquickstart using Maven:$ mvn clean install
Return to the Karaf terminal and install the project:
karaf@root()> bundle:install -s mvn:org.jboss.fuse.quickstarts/beginner-camel-log/$CURRENT_VERSION
You will see a bundle ID returned:
Bundle ID: 228
This is a unique identifier for this bundle on this instance of Fuse
-
To see the output of project, look in the log file at
FUSE_HOME/data/log/fuse.logThe output will look like this:
12:07:34.542 INFO [Camel (log-example-context) thread #1 - timer://foo] >>> Hello from Fuse based Camel route! : 12:07:39.530 INFO [Camel (log-example-context) thread #1 - timer://foo] >>> Hello from Fuse based Camel route! : 12:07:44.530 INFO [Camel (log-example-context) thread #1 - timer://foo] >>> Hello from Fuse based Camel route! :
For more information about deploying OSGi bundles, see Chapter 4, Hot deployment vs manual deployment.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.