You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Christian Schneider (JIRA)" <ji...@apache.org> on 2012/10/22 12:58:15 UTC

[jira] [Resolved] (DOSGI-59) Required service properties for autodiscovery using Zookeeper are automatically removed

     [ https://issues.apache.org/jira/browse/DOSGI-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Christian Schneider resolved DOSGI-59.
--------------------------------------

       Resolution: Cannot Reproduce
    Fix Version/s: 1.3.1
         Assignee: Christian Schneider

Can not reproduce with 1.3.1. I can export and import services using zookeeper based discovery. Can you check with the current version?
                
> Required service properties for autodiscovery using Zookeeper are automatically removed 
> ----------------------------------------------------------------------------------------
>
>                 Key: DOSGI-59
>                 URL: https://issues.apache.org/jira/browse/DOSGI-59
>             Project: CXF Distributed OSGi
>          Issue Type: Bug
>          Components: Discovery
>    Affects Versions: 1.1
>            Reporter: Christian Marmolejo
>            Assignee: Christian Schneider
>             Fix For: 1.3.1
>
>
> Server side: service S exported under interface X (using DOSGi 1.1)
> Client side: Zookeeper configured and running properly + ServiceTracker for interface X trying to consume remote service
> Problem: Local framework on client side doesn't create a proxy for remote service S
> Observations: 
> - When publishing service S on server side, method OsgiUtils.flattenServiceDescription(...) invoked by CxfPublishHook.publishEndpoint(...) removes property Constants.EXPORTED_INTERFACES in respective ServicePublication registration. This service is published in Zookeeper server.
> - Node created correctly in Zookeeper server with every original property but without Constants.EXPORTED_INTERFACES.
> - On client side, after starting Service Tracker, Zookeeper node is detected. In method AbstractClientHook.processNotification(...) a property check code is executed:
> ServiceEndpointDescription sd = notification.getServiceEndpointDescription();
>         if ((sd.getProperty(Constants.EXPORTED_INTERFACES) == null) &&
>             (sd.getProperty(Constants.EXPORTED_INTERFACES_OLD) == null)) {
>             return;   //LINE ALWAYS REACHED
>         }
> //...PROXY CREATION CODE
> just before invoking proxy creation code (AbstractClientHook.proxifyMatchingInterface(...)). This code is never reached because the Endpoint description doesn't contain either property Constants.EXPORTED_INTERFACES or Constants.EXPORTED_INTERFACES_OLD, that were removed automatically on server side. The proxy for service S is never created on client side. If this check code is removed, proxy is created properly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira