 						if err.getCode() == ZK.Exception.NO_NODE
 							Log.error("NO_NODE found for path: #{path}")
 							return
+						else if err.getCode() == ZK.Exception.CONNECTION_LOSS
+							@_client.connect()
 						if cb
 							return cb(err, null, null)
 						else


	_initEventListener : ->
		@_client.on("disconnected", ()->
			console.log("ZKClient receive event:disconnected")
			@isConnected = false
		)
		@_client.on("connected", ()->
			console.log("ZKClient receive event:connected")
			@isConnected = true
		)
		@_client.on("connectedReadOnly", ()->
			console.log("ZKClient receive event:connectedReadOnly")
		)
		@_client.on("expired", ()->
			console.log("ZKClient receive event:expired")
		)
		@_client.on("authenticationFailed", ()->
			console.log("ZKClient receive event:authenticationFailed")
		)
		
	exists : (path, val, cb)->

		_config = ProjectConfig.getZookeeperConf()
		_clusterList = _config.clusterList
		_retries = _config.retries || 3
		_sessionTimeout = _config.sessionTimeout || 2000
		_connectTimeout = _config.connectTimeout || 2000

		@_client = ZK.createClient(_clusterList, {
