The server is started before it returns from _standaloneServerFactory.startup(_server), ZooKeeperServer has a isRunning method if you really want to check if it is running.
My guess is the problem is with the client usage, you are probably trying to use the client before its connected. You need wait for synconnected event before you can invoke other api's on zookeeper. To test this hypothesis, sleep for few seconds after the client is created before using it. thanks, Kishore G On Thu, Dec 13, 2012 at 4:56 PM, Adam Silberstein <[email protected]> wrote: > Hi, > I've written a test helper class that starts up ZK in-process and tears it > down when done. Here's a code snippet: > > static NIOServerCnxnFactory _standaloneServerFactory; > public static int _clientPort = 21818; > static ZooKeeperServer _server; > > _server = new ZooKeeperServer(dir, dir, tickTime); > _standaloneServerFactory = new NIOServerCnxnFactory(); > _standaloneServerFactory.configure(new InetSocketAddress(_clientPort), > numConnections); > _standaloneServerFactory.startup(_server); > > One thing I've noticed is that the final line appears to be synchronous in > nature, whenever I attempt to connect to ZK immediately, my client fails. > Currently, I just retry a few times. Is there a programmatic way to check > when the server is read for connections? I tried a few method calls on > ZooKeeperServer but nothing was helpful there. > > Thanks, > Adam
