Jump to: navigation, search

EIG:Install into Apache Karaf

Introduction

ECFs Remote Services/Remote Service Admin implementation may be used on any OSGi R4.3+ compatible Framework Implementation. ECF will provide the Apache Karaf features to allow ECF RS/RSA components to be easily installed into a Karaf-based server.

Installing ECF Remote Services SDK

Karaf 3.x

Requirements: Karaf 3.x requires Java 7 (Java 8 is not supported in Karaf 3.x).

In the instructions below, use the following for the <repo url>

<repo url>: http://download.eclipse.org/rt/ecf/latest/site.p2/karaf-features.xml

Karaf 4.x

requirements: Karaf 4.x can use either Java 7 or 8, Maven Repos or http url install.

To use maven repos for install, it's necessary to insert the following lines into the Karaf configuration file <karafhome>/etc/org.ops4j.pax.url.mvn.cfg:

    http://build.ecf-project.org/maven/equinox.deps@id=org.eclipse.equinox, \
    http://build.ecf-project.org/maven/equinox.deps@id=org.eclipse.core, \
    http://build.ecf-project.org/maven/3.13.1@id=org.eclipse.ecf, \
    http://build.ecf-project.org/maven/3.13.1@id=org.eclipse.osgi, \
    http://build.ecf-project.org/maven/3.13.1@id=ch.ethz.iks, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.hadoop, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.commons, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.httpcomponents, \
    http://build.ecf-project.org/maven/3.13.1@id=org.xbill.dns, \
    http://build.ecf-project.org/maven/3.13.1@id=org.json, \
    http://build.ecf-project.org/maven/3.13.1@id=com.mycorp.examples, \

between the line

org.ops4j.pax.url.mvn.repositories= \

and

    http://repo1.maven.org/maven2@id=central, \

so that it appears like this

org.ops4j.pax.url.mvn.repositories= \
    http://build.ecf-project.org/maven/equinox.deps@id=org.eclipse.equinox, \
    http://build.ecf-project.org/maven/equinox.deps@id=org.eclipse.core, \
    http://build.ecf-project.org/maven/3.13.1@id=org.eclipse.ecf, \
    http://build.ecf-project.org/maven/3.13.1@id=org.eclipse.osgi, \
    http://build.ecf-project.org/maven/3.13.1@id=ch.ethz.iks, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.hadoop, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.commons, \
    http://build.ecf-project.org/maven/3.13.1@id=org.apache.httpcomponents, \
    http://build.ecf-project.org/maven/3.13.1@id=org.xbill.dns, \
    http://build.ecf-project.org/maven/3.13.1@id=org.json, \
    http://build.ecf-project.org/maven/3.13.1@id=com.mycorp.examples, \
    http://repo1.maven.org/maven2@id=central, \
...

Then save the org.ops4j.pax.url.mvn.cfg file and start/restart karaf to have this new configuration take effect. These changes to the etc/org.ops4j.pax.url.mvn.cfg file are only necessary if using the Maven installs below.

Java 7 (Maven) <repo url>: http://download.eclipse.org/rt/ecf/latest/site.p2/karaf4-features-maven.xml
Java 7 (http)<repo url>: http://download.eclipse.org/rt/ecf/latest/site.p2/karaf4-features.xml

Java 8 (Maven) <repo url>: http://download.eclipse.org/rt/ecf/latest/site.p2/karaf4-j8-features-maven.xml
Java 8 (http) <repo url>: http://download.eclipse.org/rt/ecf/latest/site.p2/karaf4-j8-features.xml

ECF Remote Services SDK Install

Via Command Console

  • Enter: feature:repo-add <appropriate repo url from above>

Via Webconsole

  • If you haven't already done so, install the Karaf webconsole
  • Add the ECF Repository
    • From the Webconsole Main menu choose Main->Features
    • Add the appropriate <repo url> from above to in the text box, and select Add URL button

Karafinst1.png

The available ECF's features will then be shown below (e.g. ecf-remoteservices-sdk)

Karafinst2.png

Install the ECF SDK feature

Via Command Console

  • Enter: feature:install -v ecf-remoteservices-sdk

Via Webconsole

  • Click on the arrow for the ecf-remoteservices-sdk feature/row underneath the Actions column to install.
  • When install is complete, the bundles list will have all ECF bundles active

Karafinst3.png

The ECF RS SDK is installed and running in Karaf.

To export an example remote service, see tutorial here.