Apache Aries Remote Services Admin

Clone this repo:
  1. 6fecd15 Remove unused imports by Amichai Rothman · 4 days ago master
  2. be12576 Remove redundant deprecation warning suppressions by Amichai Rothman · 4 days ago
  3. d2afc5a ARIES-2233 Extract common LocalEndpointManager to track local endpoints by Amichai Rothman · 6 days ago
  4. 608556f ARIES-2233 Extract common EndpointEventListener service tracking into InterestManager by Amichai Rothman · 7 days ago
  5. fa2ae18 ARIES-2233 Extract common InterestManager implementation for all discovery providers by Amichai Rothman · 7 days 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 the 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 simple remote services setup running
  • 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 four different implementations and can be extended with custom discovery providers. The available implementations are:

  • zookeeper - Manages endpoint descriptions as zookeeper nodes
  • tcp - Notifies configured peers about endpoints via direct TCP connections
  • local - Scans bundles for endpoint descriptions
  • config - Reads endpoint descriptions from the 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