Remoting 3 Features

Remoting 3 is the next generation of JBoss Remoting, which carries on and expands upon capabilities from previous generations, as well as introducing completely new features.

  • Pluggable Transport Protocols
    • Additional protocols detected at runtime
  • Pluggable Marshalling Strategies
    • Uses the powerful JBoss Marshalling library
    • Much more efficient than plain Java Serialization
  • Security Features
    • SSL support for integrity and confidentiality protection, as well as server authentication
    • SASL support for client authentication and authorization
  • Streaming Support
    • InputStream/OutputStream
    • Reader/Writer
    • Special Object streaming types: ObjectSource/ObjectSink
  • Synchronous and asynchronous invocation
    • Synchronous, or blocking, invocation sends request, waiting for a reply before execution continues
    • Asynchronous invocation does not block, instead using the powerful IoFuture interface to allow deferred or callback-driven evaluation of the invocation result
  • Efficient request multiplexing - one connection handles any number of requests in either direction (client to server or server to client)
  • Local and remote protocols
    • Local protocol runs invocations within the same VM without marshalling/unmarshalling
  • Deterministic handling of all failure cases
    • Including server and connection failure cases
    • Logical and well-documented exception hierarchy allows user applications to take appropriate action such as retrying an operation if appropriate