Just a small clarification:
In the presence of Jini 2.1 nodes (includes River 2.1.2) a River 2.2.0
Reggie cannot be the default group, that must be performed by a Reggie
prior to v2.2.0. Otherwise ClassNotFoundException and the like will be
thrown by the earlier nodes.
The River 2.2.0 nodes don't need to utilise the existing
ServiceRegistrar interface at all, any earlier Reggie proxy's will be
wrapped by a Facade automatically by River, mapping the methods of
StreamServiceRegistrar to ServiceRegistrar, this excludes Java CDC which
won't be able to talk to earlier versions of Reggie at all, simply
solved by having a second Reggie of v2.2.0 or later, with a cdc group or
something similar.
Cheers,
Peter.
Peter Firmstone wrote:
Christopher Dolan wrote
The most important thing to me is that I any River 2.2.x code I write
will be able talk to
my Jini 2.1 code.
I've been thinking about the impact of recent changes surrounding
ServiceRegistrar and DiscoveryManager, it will be possible to have a
binary compatible migration / upgrade path from 2.1 to 2.2.
Reggie's implementation for 2.2.x (currently experimental and subject
to change) will be different from earlier versions, existing Jini
application code will use the new implementation via a facade if
running directly on the Apache River 2.2.x platform.
The impact; while Jini 2.1 nodes exist in a djinn, you will have to
use at least one Reggie implementation prior to Apache River 2.2.0,
the new nodes can utilise earlier versions of Reggie. Application
code (Services and clients) Running on 2.2.x, can use new
StreamServiceRegistrar methods, and Apache River 2.2.x will wrap a
facade around any existing Jini 2.1 Reggie's, although results will
not be available in marshalled form, so there won't be a performance
advantage unless you utilise the new Apache River 2.2.x Reggie. The
good news is that you can write new application code for the later
Reggie version, while using the former (from a 2.2.x node) and then
get the performance benefits when you upgrade.
Jini 2.1 nodes won't be able to join any groups that utilise a 2.2.x
Reggie.
Existing application code, migrated from Jini 2.1 will work on Apache
River 2.2.x and doesn't need an earlier Reggie version, as the
platform will provide a facade to access the new Reggie via the old
interface.
Best bet; have a look at what I've done so far & raise any concerns,
or suggest improvements.
I'll post a javadoc diff in my personal apache web area, time permitting.
Cheers,
Peter.