# JBoss Fuse Apache Karaf - JBOSS

## What is JBoss Fuse Apache Karaf?

On this chapter, we will speak about Apache Karaf and why it is referred to as as a lightweight OSGi container along side its advantages and other important features.

## The JVM problem

JVM or Java digital device does not act as an actual virtual machine. A machine in order to allow you to prevent, begin or restart components running inner it at the fly. it can every so often allow hot deployments at class level however there may be no manner you may set up or undeploy a issue of your application to your virtual machine with out restarting it.

To solve this hassle and allow modularity in Java application, Fuse uses an OSGi based runtime known as Apache Karaf.

## OSGi

The OSGi technology is a set of specifications that outline a dynamic component system for java. those specifications permit a development model in which packages are (dynamically) composed of many unique (reusable) components.

## Benefits of OSGi

• Reduced Complexity − application is built as participating additives which hide their implementation information from each different resulting in reduced complexity.
• Reusability − Many components can leverage equal component deployed in a container.
• Deployment − OSGi presents assist for start, prevent and update of components at the fly with its lifecycle control APIs with out container restart.

## Bundles Vs Features

Following is the assessment among Bundles and features.

## Bundles

Bundles are equal to OSGi what jars are to JVM. Bundles are artifacts which can be deployable in an OSGi container. The bundles are additives which work collectively or independently to form an application.

Those bundles may be set up, uninstalled, updated, began or stopped at runtime with out restarting the container.

## Features

Features are a way of deploying multiple bundles together. from time to time it makes greater sense to set up bundles in organization. features allow us to set up a group of bundles with simply one command.

## Why another container?

Apache Karaf is an OSGi based runtime, it is where our application bundles run. Fuse uses Apache Karaf as its runtime in which bundles run and collaborate to offer business functionality.

Karaf is constructed on Felix and equinox which are OSGi Frameworks.

## Karaf Architecture

Apache Karaf provides the following additional functionalities to basic OSGi runtime.

## Hot Deployment

Karaf helps hot deployment. It consists of a hot install listing. anything that is placed in this listing is automatically deployed and set up in Karaf as a bundle.

## Logging

Karaf presents centralized logging by means of producing logs for all bundles in $Fuse_home/data/log. we will edit logger configuration in org.ops4j.pax.logging.cfg in$Fuse_home/etc directory.