Hi KimmKing,

On 9/1/2019 6:24 PM, KimmKing wrote:
Thanks, Scott,

Integration with other popular frameworks is always in Dubbo Ecosystem 
Principles.
I am familiar with OSGi, and can you guide me how to implement this Dubbo 
extensibility.

I've noticed that Dubbo uses the java ServiceLoader for extensibility.

I believe one good way to leverage the OSGi Service registry would be to use the ServiceLoader to load (e.g.) an OSGiRegistryFactory, and then have the impl of the OSGiRegistryFactory use the OSGi service registry to dynamically use or create instances of (e.g.) Registry instances.    There is more to it than this, obviously, but the general point is that the OSGi Service Registry is sufficiently dynamic that it can support both load/start time extensibility (as ServiceLoader does) as well as runtime extensibility (bundles and services being added and removed from a running system).

Asynchronous events for disconnection or failure to reconnect is not supported 
now, should we complete this feature first for ECF?

It would be a nice feature to have for ECF's usage of Dubbo. The main reason is that it would allow disconnection events (and/or reconnect failure) to be detected by clients...with the result in OSGi of automatic unregistration of proxy service instances.   This is something that some remote services users value...i.e. the ability to detect network failure, resulting in proxy unregistration.

Thanks,

Scott




At 2019-08-31 06:05:31, "Scott Lewis" <[email protected]> wrote: >Hi, > >I'm the project lead for the Eclipse Communication Framework [1].   >Among other things, ECF provides an implementation of the 
OSGi R7 Remote >Services/Remote Service Admin specifications [2]. > >ECF supports pluggable 'distribution providers', responsible for the >rpc, serialization/marshalling, and wire protocol.   We have upwards of >10 
distribution providers [3] created by us and others. > >I've recently learned about Apache Dubbo, and decided to use it to >create a new ECF Remote Service Distribution Provider [4]. What this >means is that Apache 
Dubbo can now be used as a distribution impl for >any OSGi remote service.   This also makes it quite possible to have  >Other Runtimes -> OSGi and OSGi->Other runtimes and retain all the OSGi >service dynamics, 
injection through declarative services, etc. > >If the Dubbo dev community is interested, I could easily describe how >Dubbo extensibility could be exposed via the OSGi service >registry/remote services.   This would 
make it possible for Dubbo to be >easily extended using the OSGi service registry. > >If Dubbo folks wanted to expose Dubbo modules as OSGi bundles, I believe >this could also be easily done and would be happy to 
contribute it back >to Dubbo. > >One technical question:  With Dubbo, is it possible to listen for >asynchronous events (such as disconnection/failed reconnect requests) >and respond to them?  If so are there docs 
or examples of how to do >this? (java API best). > >Thanks. > >Scott > >[1] http://www.eclipse.org/ecf https://wiki.eclipse.org/ECF > >[2] 
>https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html > >[3] https://wiki.eclipse.org/Distribution_Providers > >[4] https://github.com/ECF/DubboProvider

Reply via email to