Apache Qpid Nexus™: A Platform for Building AMQP Infrastructure

# Apache Qpid Nexus™

## A Platform for Building AMQP Infrastructure

Qpid Nexus is a library to help developers build infrastructure components for AMQP. Nexus is not a general-purpose Messaging API. Rather, it is a foundation on which to build applications, services, and appliances that need direct access to the detailed constructs of AMQP.

## Overview

Nexus is an extension of the Engine and Driver interfaces of Qpid Proton. The following features are provided:

- Safe multi-threaded use of Proton
- Operating System Signal handling
- Quiesce and Resume for the application's threads
- Timers
- Resilient outbound connections (retry/reconnect)
- Polling support for the application's non-AMQP file descriptors
- An AMQP Node Container that allows the developer to create node types
- Node instances can be statically or dynamically provisioned

## Architecture

- Proton Engine and Driver provide the underlying AMQP capability
- Nexus Server wraps Proton connections in a multi-threaded server environment
- Nexus Container provides management of AMQP nodes (links, termini, and deliveries)
- Nexus Message provides efficient message encode/decode, optimized for messaging intermediaries
- The Application uses all of the above services to implement scalable and performant AMQP infrastructure