On Jan 20, 2010, at 12:15 AM, Kevan Miller wrote:

3) Geronimo currently requires multicast for the failover scenario. This is great. However, we should also offer unicast-based support, also. I frequently encounter users who are unable to use multicast in their environments. Providing unicast support would be a valuable addition, I think.

Agreed.

Currently with the way that everything is designed we theoretically only need to replace this class:

  org.apache.geronimo.farm.discovery.MulticastDiscoveryAgent

Which is an implementation of the DiscoveryAgent interface. The primary job of the DiscoveryAgent is to receive notifications about services coming and going and then simply notify the other parts of the system that are interested in this information. These "other parts" implement this interface:

  public interface DiscoveryListener {
      public void serviceAdded(URI service);
      public void serviceRemoved(URI service);

  }

So basically the new DiscoveryAgent needs to have a way to receive "service added" and "service removed" messages and send that info to the listener.

It seems that a REST implementation of DiscoveryAgent would be very useful as a lot of shops use it quite extensively already for various administration and it actually lines up pretty close. ServiceAdded might be a PUT and serviceRemoved a DELETE.

Seems with something that simple it wouldn't be too hard to do anything else that's required to get it to broadcast around.

-David

Reply via email to