[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[equinox-dev] Support for RFC 119
- From: Scott Lewis <slewis@xxxxxxxxxxxxxxxxx>
- Date: Wed, 14 Jan 2009 11:06:56 -0800
- Delivered-to: email@example.com
- User-agent: Thunderbird 220.127.116.11 (Windows/20081209)
ECF is looking to implement OSGi 4.2 RFC 119 in the Galileo/ECF 3.0 release:
After reading the RFC 119 spec, it seems that there are only a very few
implications for equinox itself:
1) RFC 119 depends upon RFC 126 (which is the Service Registry Hooks
rfc), which after inspecting the org.eclipse.osgi bundle has apparently
been implemented in HEAD/3.5. Thanks to whoever did that! I'm
testing/using it now and will immediately report any issues found.
2) In the RFC 119 draft that I have, their is an addition of a new type
for org.osgi.framework.ServiceException. From RFC 119:
18.104.22.168 Exception Handling
There will be a new type of exception for the ServiceException: REMOTE.
This type of exception is thrown when
there is an issue with the distribution software used to covert between
the protocol-specific and OSGi invocations.
After looking at ServiceException, I see that that REMOTE type value is
not currently defined in org.osgi.framework.ServiceException (on
org.eclipse.osgi HEAD). How should this addition be properly affected?
Should I open an enhancement request to add a REMOTE type and attach a
patch to contribute an addition/change? (e.g.):
* As specified by RFC 119 Distributed OSGi section 22.214.171.124.
* Remote type of ServiceException.
public static final int REMOTE = 5;
One question: does this framework change appear somewhere else in the
r4.2 spec? (i.e. other than 119)? As it seems to imply that RFC 119
isn't stand-alone (that is, it requires this small addition to framework).
3) There are several optional but recommended interfaces defined in RFC
119 (e.g. DistributionProvider, Discovery, ServicePublication,
ServiceDescription). But it does not say in the RFC 119 spec (that I
can find) where/what package these interfaces should/will be placed in.
Are there conventions about this (placement) that dictate what
package(s) these interfaces should be in? If so, where is that? If
not, how is it decided where these will/should be? Should I open an
equinox enhancement request for these interface additions as well?
4) There are several new service property name constants. How/where
should these be added? (on Constants? or some other/new interface for
remote service properties?).
By my reading, with the addition of 2, and answers to 3 and 4 that there
will be no more required additions/changes to Equinox in order to
support RFC 119. Please let me know if I should open enhancement
requests and create attachments...or do something else...to effect the
necessary changes and additions.