I've been a little quiet, but have been busy testing, testing,
testing. Will get back to work on River's modular build in the near
future.
AtomicILFactory, is a JERI invocation layer factory alternative to
BasicILFactory, which uses atomic input validation during
deserialization. Unlike BasicILFactory, proxy's are serialized
independantly of other objects in the stream (no shared state), service
proxy's have their codebases provisioned after they're authenticated,
proxy's aren't deserialized, nor are their codebases provisioned until
they're authenticated. Currently the only time a codebase annotation is
utilised is during provisioning, the stream uses ClassLoaders at each
endpoint. In a modular environment, such as Maven or OSGi, the
ClassLoader's at each endpoint (local and remote), use the same codebase
(that of the proxy), so all class dependencies are resolved at each
endpoint.
There are cases where some classes cannot be resolved, such as when a
client passes a parameter object, who's class is not resolvable from the
proxy's dependencies (the proxy's ClassLoader), I'm currently working on
making it an option to use codebase annotations, but only when classes
cannot be resolved from the proxy's ClassLoader. In these cases the
codebase must resolve dependencies to the same service api version
(service api is the public api the client and proxy use to interact) at
the remote server endpoint.
Regards,
Peter.