Skip to content

关于DefaultClient中JConnector.ConnectionWatcher实现上的一些疑惑 #109

@tony-is-coding

Description

@tony-is-coding

个人提出一个在学习 Jupiter 过程中的疑惑
我看到代码中 DefaultClient#watchConnection(Directory ) 这个方法实现内匿名实现了一个 JConnector.ConnectionWatcher; 其中重写的start() 方法用到了一些同步机制让我感到不解:

  1. 为何需要通过这样的线程唤醒来做同步?
  2. 是为了应对什么样的场景呢?

以下是我的个人的一些猜测:

  1. 为了应对一个远程地址同时发布两个服务?
  2. 为了应对远程服务出现了 register -> deregister -> register 这样的操作?

Snipaste_2022-04-12_09-41-27

如果有阅读过代码或者对分布式服务注册发现熟练的大佬能帮忙解惑, 那将感激不尽了

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions