The Apache Ignite Integrations Developer Hub

Welcome to the Apache Ignite Integrations developer hub. You'll find comprehensive guides and documentation to help you start working with Apache Ignite Integrations as quickly as possible, as well as support if you get stuck. Let's jump right in!

Archive

Installation in Apache Karaf

Overview

Apache Karaf is a lightweight, powerful, and enterprise ready container powered by OSGi. It supports both the Eclipse Equinox and Apache Felix OSGi runtimes.

Apache Karaf 4.0.0 release line supported

Apache Ignite has been tested with the Apache Karaf 4.0.0 release line. It is possible that it works with older versions too, but it has not been tested explicitly.

In order to facilitate the deployment of the different Ignite modules – along with their dependencies –, Apache Ignite offers a set of Karaf features packaged in a feature repository. This makes it possible to quickly provision Ignite onto the OSGi environment by means of a single command in the Karaf shell.

Preparatory Steps

First off, Ignite uses the low-level Oracle/Sun JRE package sun.nio.ch (which is also available on OpenJDK).

Installing the Ignite Features Repository

Use the following command in the Apache Karaf shell to install the Ignite features repository, making sure your container has access to the Internet or to an alternate Maven repository containing the Ignite artifacts:

Some modules are OSGi fragments rather than bundles. When installing them, you may notice that either, or both, the Karaf shell and/or the ignite-core bundle restart.

ignite-log4j and Pax Logging

Read this note carefully if using Pax Logging on Apache Karaf <= 4.0.3

When installing the ignite-log4j feature, the Karaf shell may show the following message:

Error executing command: Resource has no uri

This is not a harmful error and has been reported to the Karaf community at KARAF-4129: Installing a feature with a fragment that attaches to pax-logging-api fails.

Apply the instructions below ignoring the error.

Apache Karaf comes bundled with Pax Logging, a framework that collects and unifies all log output from other bundles (emitted via different frameworks such as slf4j, log4j, JULI, commons-logging, etc.) and processes it according to a canonical log4j configuration.

The ignite-log4j module required packages from log4j that Pax Logging doesn't export by default. We have developed an OSGi Fragment with symbolic name ignite-osgi-paxlogging that attaches to ignite-core and exports the missing packages.

The ignite-log4j feature already installs this fragment, but you will need to force its resolution by refreshing the bundle with symbolic name org.ops4j.pax.logging.pax-logging-api: