Apache Aries Remote Services Admin

Clone this repo:
  1. aedb3c9 Fix EndpointListenerManager not unregistering hooks when stopped by Amichai Rothman · 7 weeks ago master
  2. 42a6a91 Ensure executor shutdown in TopologyManagerImport.stop() by Amichai Rothman · 7 weeks ago
  3. 50fa0de ARIES-2219 Fix imported services not reflecting updated service properties by Amichai Rothman · 7 weeks ago
  4. 4ea1290 ARIES-2218 Fix RSA/provider endpoint properties lost during service properties update by Amichai Rothman · 7 weeks ago
  5. a6f7c94 Inline TopologyManagerExport methods by Amichai Rothman · 7 weeks ago

Aries Remote Service Admin (RSA)

Build Status Maven Central

The Aries Remote Service Admin (RSA) project is the reference implementation of Remote Services and Remote Service Admin from the OSGi R7 specs.

It allows to transparently use OSGi services for remote communication. OSGi services can be marked for export by adding a service property service.exported.interfaces=*. Various other properties can be used to customize how the service is to be exposed.

Distribution Provider

Aries Remote Service Admin provides two different transport layers out of the box and can be extended with custom transports.

  • aries.tcp - A very lightweight TCP based transport that is ideal to get a first demo running and to serve as template for custom distribution providers
  • aries.fastbin - A fast binary transport that uses multiplexing on a pool of java nio channels. Fastbin supports both sync and long running async calls (via Future/Promise)

Discovery Provider

The discovery providers are responsible for finding the available endpoint descriptions of remote services. Aries RSA provides three different implementations and can be extended with custom discovery providers. The three available implementations are

  • zookeeper - Manages endpoint descriptions as zookeeper nodes.
  • local - Scans bundles for endpoint descriptions
  • config - Reads endpoint descriptions from ConfigAdmin service

Releasing

Maven release

./mvnw clean release:prepare -DskipTests -Darguments=-DskipTests
./mvnw release:perform -DskipTests -Darguments=-DskipTests

This creates a staging repository. After all artifacts are deployed login to the Apache maven repo and close the staging repository.

Vote

Promote in Apache Repository

Copy to apache release svn

The source zip needs to be copied to the Apache release svn.

Add checksum

gpg --print-md SHA512 <filename> > <filename>.sha512