When CuratorFramework's methods start and clos

2019-07-22 13:30发布

问题:

According to documentation

CuratorFramework instances are fully thread-safe. You should share one CuratorFramework per ZooKeeper cluster in your application.

It also states that the method start should be called before any other operations can be performed. Should this method be called before every operation or calling it once after initialization is enough?

回答1:

Call start once after creating the CuratorFramework instance. So, the startup is:

  • Create the CuratorFramework via one of the factory methods
  • Call start() on the instance
  • Run your application using the single CuratorFramework instance as needed
  • At the end of your application, call close() on the instance

NOTE: I'm the main author of Curator



回答2:

The initial tests showed, that start should be called only once per created client. Calling it multiple times caused IllegalStateException.