2015-05-18 4 views
0

Я проверяю подключение экземпляра куратора, когда я делаю его в режиме отладки, он проходит нормально, но когда я работаю в режиме работы, он проходит проверку, считая условие ложным ,Куратор Framework не позволяет мне проверить Connection

curatorFramework.getZookeeperClient().isConnected(); 

Что-то не в порядке с кодом? Это, как я создать экземпляр:

RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 1); 
    CuratorFramework curatorFramework= CuratorFrameworkFactory.newClient(host, retryPolicy); 
    curatorFramework.start(); 

ответ

1

Я ничего не могу, очевидно, неправильно с вашим кодом пятна, однако, я хотел бы предложить, давая CuratorFrameworkFactory попробовать для создания экземпляра CuratorFramework так:

String connectionString = .... 

CuratorFramework client = CuratorFrameworkFactory.builder() 
     .namespace("my_namespace") 
     .connectString(connectionString) 
     .retryPolicy(new ExponentialBackoffRetry(1000, 1)) 
     .build(); 

client.start(); 

Я также предлагаю проверить ваш код с помощью встроенного куратора TestingServer, чтобы убедиться, что проблема не связана с кластером ZK, который вы тестируете. Чтобы настроить и подключиться к тестовому серверу куратора, просто используйте что-то вроде этого:

TestingServer zkTestServer = new TestingServer(31313); 

CuratorFramework client = CuratorFrameworkFactory.builder() 
     .namespace("my_namespace") 
     .connectString(zkTestServer.getConnectString()) 
     .retryPolicy(new ExponentialBackoffRetry(1000, 1)) 
     .build(); 

client.start(); 
Смежные вопросы