[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] Support for RFC 119

ECF is looking to implement OSGi 4.2 RFC 119 in the Galileo/ECF 3.0 release:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=249240

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:

5.2.2.2 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 5.2.2.2. * 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.


Thanks,

Scott