[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12998454#comment-12998454
 ] 

Thomas Koch commented on ZOOKEEPER-837:
---------------------------------------

The WatchManager instance is now created in the ClientCnxn constructor. This is 
not nice and should be changed later on. However it's not worse as it is now 
either. Currently the WatchManager is created in the ZooKeeper class.

> cyclic dependency ClientCnxn, ZooKeeper
> ---------------------------------------
>
>                 Key: ZOOKEEPER-837
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-837
>             Project: ZooKeeper
>          Issue Type: Sub-task
>    Affects Versions: 3.3.1
>            Reporter: Patrick Datko
>            Assignee: Thomas Koch
>             Fix For: 3.4.0
>
>         Attachments: ZOOKEEPER-837.patch, ZOOKEEPER-837.patch, 
> ZOOKEEPER-837.patch
>
>
> ZooKeeper instantiates ClientCnxn in its ctor with this and therefor builds a 
> cyclic dependency graph between both objects. This means, you can't have the 
> one without the other. So why did you bother do make them to separate classes 
> in the first place?
> ClientCnxn accesses ZooKeeper.state. State should rather be a property of 
> ClientCnxn. And ClientCnxn accesses zooKeeper.get???Watches() in its method 
> primeConnection(). I've not yet checked, how this dependency should be 
> resolved better.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to