Module RelayOSGi runtime fieldbook
OSGi · Dynamic Module SystemsView Markdown source

Apache Felix: framework and subprojects

Apache Felix is a compact OSGi Framework implementation and a family of independently released OSGi service implementations and tools.

Framework

Felix Framework 7.0.5 implements the OSGi R8 framework APIs. It can run as a distribution or be embedded via the standard FrameworkFactory API.

ServiceLoader.load(FrameworkFactory.class)
  .findFirst()
  .orElseThrow()
  .newFramework(configuration);

Embedding makes lifecycle, storage, parent class loading, and shutdown your application's responsibility.

Important subprojects

  • SCR: Declarative Services runtime;
  • Config Admin, Metatype, Configurator;
  • Gogo runtime/shell/commands;
  • FileInstall: watches deployment/configuration directories;
  • Web Console: administrative plugins;
  • HTTP Service and Whiteboard implementations;
  • Resolver, Repository, Converter, Health Checks, Inventory;
  • Maven Bundle Plugin and related bnd-based build tooling.

Versions are independent. Read each release note and compatibility range.

Framework configuration

Choose a persistent storage directory, storage-clean policy, beginning start level, boot delegation only when required, and system package extras only for deliberate host APIs. Give each test/runtime its own cache.

Gogo

Gogo is a small command processor used by Felix and Karaf. Commands are OSGi services, so they appear dynamically. Treat remote shells as privileged administration surfaces.

Web Console

Web Console is excellent for inspecting bundles, services, DS, configuration, logs, and system information. In production, require strong authentication, TLS, network restriction, auditing, and plugin minimization.

Feynman check

Felix Framework is the engine. Felix SCR, HTTP, ConfigAdmin, and Web Console are replaceable parts installed around it. Explain why their versions differ.

Module RelayIndependent study material · verify runtime details in official project documentation