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.