cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sergey Beryozkin <sberyoz...@gmail.com>
Subject Re: CXF-DOSGi Zookeeper discovery data transformation
Date Fri, 22 Jun 2012 16:43:22 GMT
Hi David
On 22/06/12 15:58, David Bosschaert wrote:
> Hi all,
>
> I'm currently playing with CXF-DOSGi in the context of a cloud setup
> and I'm also using the Zookeeper-based discovery.
> The problem that I'm facing is that the host and port as known by the
> local framework (running inside a cloud instance) is not the same as
> the public host and port. Obviously to be able to access the remoted
> service from outside you need the public host and port.
>
> So I came up with a DiscoveryPlugin interface which bundles can
> register in the OSGi Service Registry (in the true OSGi Whiteboard
> pattern way) to support such a transformation.
> It has the following API:
>
> public interface DiscoveryPlugin {
>      String process(Map<String, Object>  mutableMap, String fullPath);
> }
>
> Before the ZooKeeper client code in CXF registers the endpoint with
> the ZooKeeper server all registered DiscoveryPlugin are given a chance
> to process the data. They can change the properties of the service
> registration and change the path. So in my case I can change the URL
> where the local framework thinks it registers it (e.g.
> 127.5.3.123:8080) to the URL from where things are publicly accessible
> (e.g. my.cloud.instance:80).
>
> Would everyone be happy with me adding this feature to the
> cxf-dosgi-ri-discovery-distributed module? It's backward compatible -
> if you have no plugins registered nothing happens.
>
Looks like a neat idea.

What does mutableMap will represent ?

Cheers, Sergey

> Cheers,
>
> David


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Mime
View raw message