tree: 7ca75b4cdabdd3f6b89a2755bcf8d878aa562488 [path history] [tgz]
  1. src/
  2. bnd.bnd
  3. pom.xml

Fastbin transport provider

Allows transparent remoting using Java Serialization over TCP. The fastbin provider uses a pool of nio tcp channels to transport data. It can use either java object serialization or protobuf to serialize parameters and return values. Sync remote calls have a default timeout of 5 minutes. For long running operations async calls should be used. This is indicated by having either

  • Future
  • CompletableFuture
  • Promise

as the return value of the remote method. The client will receive a proxy of that type that will be resolved async as soon as the server finished computation.

Streaming Data

When large amount of data (e.g. files) need to be transferred remotely it is not advisable to use large byte arrays as this will allocate a lot of memory. Instead the fastbin transport allows to use InputStream and OutputStream as parameter or return value. When a remote method contains such a parameter, the stream is replaced with a proxy implementation that pipes data remotely from/to the original stream.

Transport configuration

Config PID: org.apache.aries.rsa.provider.fastbin

uritcp:// bind address to use
exportAddresslooks up the hostnameThe ip/hostname how remote clients can reach this server
timeout300000The timeout for sync calls (default 5 minutes)

Endpoint Configuration

Per service configuration using service properties.

service.exported.configs: aries.fastbin