Skip to main content
Jump to: navigation, search

Discovery and Distribution Listeners

Revision as of 16:35, 3 June 2009 by Slewis.eclipsesource.com (Talk | contribs) (New page: ECF's implementation of RFC 119 has a listener service API, so that clients can monitor and respond to the activities of the implementation during service registration and service publicat...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

ECF's implementation of RFC 119 has a listener service API, so that clients can monitor and respond to the activities of the implementation during service registration and service publication (on the service host), and service discovery and service lookup/proxy creation (on the service consumer).

For all four of the listener interfaces below, the way for clients to create listeners is to

  1. Create an instance of the interface
  2. Register the instance as a service

So, for example, here is how one would create and register a IHostDistributionListener

// define class to implement IHostDistributionListener
public class MyHostDistributionListener implements IHostDistributionListener {
   public void registered(ServiceReference serviceReference,IRemoteServiceContainer remoteServiceContainer, IRemoteServiceRegistration remoteRegistration) {
      System.out.println("hostRegistered\n\tserviceReference="+serviceReference+"\n\tremoteServiceContainer="+remoteServiceContainer+"\n\tremoteRegistration="+remoteRegistration);
   }
 
   public void unregistered(ServiceReference serviceReference, IRemoteServiceRegistration remoteRegistration) {
      System.out.println("hostUnregistered\n\tserviceReference="+serviceReference+"\n\tremoteRegistration="+remoteRegistration);
   }
}
...
// register new instance of MyHostDistributionListener as OSGi service
bundleContext.registerService(IHostDistributionListener.class.getName(),new MyHostDistributionListener(),null);

Service Host

On the service, host there are two listeners

Copyright © Eclipse Foundation, Inc. All Rights Reserved.