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.
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.
Config PID: org.apache.aries.rsa.provider.fastbin
Key | Default | Description |
---|---|---|
uri | tcp://0.0.0.0:2543 | The bind address to use |
exportAddress | looks up the hostname | The ip/hostname how remote clients can reach this server |
timeout | 300000 | The timeout for sync calls (default 5 minutes) |
Per service configuration using service properties.
service.exported.configs: aries.fastbin