Chapter 14. Pax CDI and OSGi Services


14.1. Pax CDI Architecture

Overview

Figure 14.1, “Pax CDI Architecture” gives an overview of the technology stack underlying Pax CDI.

Figure 14.1. Pax CDI Architecture

Pax CDI Architecture

Pax CDI

Pax CDI is the integration layer that makes it possible to deploy a CDI container within the Apache Karaf OSGi container.

JBoss Weld

JBoss Weld provides the CDI implementation for the Pax CDI integration. JBoss Weld is the reference implementation for CDI and comes with its own extensive documentation, CDI Reference Implementation.

Bean bundle

A bean bundle is an OSGi bundle that has been enabled to use Pax CDI. A bundle cannot use CDI by default, it must be explicitly enabled to do so (see the section called “Requirements and capabilities”).

CDI container

A CDI container effectively defines the scope for a collection of managed beans under CDI, which are capable of being published and injected within this scope. In the context of OSGi, a CDI container maps to a single bundle. That is, each bean bundle gets its own CDI container.

Camel CDI and other customizations

JBoss Fuse provides additional features that define CDI customizations (that is, non-standard CDI annotations) targeted at different aspects of middleware development. For example:
camel-cdi
Provides custom annotations for defining and injecting Camel contexts and routes. See Chapter 15, Camel CDI.
switchyard-cdi
Provides custom annotations for use with SwitchYard. For example, see the quickstart example under the following directory of your JBoss Fuse installation:
quickstarts/switchyard/camel-bus-cdi
cxf-jaxrs-cdi
Provides support for CDI in JAX-RS, as defined in the JAX-RS 2.0 Specification (see section 10.2.3).
deltaspike
Apache Deltaspike is a general-purpose collection of CDI customizations.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.