2013-03-17 6 views
1

Я работаю над Java-приложением, которое использует Ektorp Framework для связи с CouchDB. Я использую следующий код, чтобы создать новый CouchDbInstance:Ektorp CouchDB тестовое соединение

HttpClient httpClient = new StdHttpClient.Builder() 
    .host("localhost") 
    .port("5984") 
    .username("") 
    .password(""); 

/* no user name and password required because, its admin party */ 

CouchDbInstance couchDbInstance = new StdCouchDbInstance(httpClient); 

Теперь я хочу, чтобы проверить подключение к CouchDB, прежде чем я создавать/изменять и т.п. документы. Нет способа тестирования соединения. У вас есть подсказка для меня?

ответ

1

Я использую ЭКТОРП в моем текущем проекте, и мы протестировали его с couchDbConnector.getAllDatabases(), ловя DbAccessExceptions.

Это имеет небольшое преимущество перед checkIfDbExists() в том, что он полностью агностик для фактических баз данных, настроенных на сервере CouchDB, и не ссылаясь на какую-либо конфигурацию приложения для проверки соединения, просто чувствует себя немного чище.

1

Вы можете использовать CouchDbConnector # getDbInfo()

+0

Не возможно ли CouchDbInstance вместо этого? – konze

+0

CouchDbInstance # checkIfDbExists не имеет побочных эффектов –

-1

В настоящее время я работаю над проектом с использованием ektorp, и я тестирую соединение с базой данных следующим образом.

Шаг 1 - Подключение к HttpClient как вы сделали

HttpClient httpClient = new StdHttpClient.Builder() 
    .host("localhost") 
    .port("5984") 
    .username("") 
    .password(""); 

/* no user name and password required because, its admin party */ 

CouchDbInstance couchDbInstance = new StdCouchDbInstance(httpClient); 

Шаг 2 - Создание CouchDbInstance

CouchDbInstance dbInstance = new StdCouchDbInstance(httpClient); 

Шаг 3 - Использование CouchDbConnector для подключения к конкретной базе данных в ваш localhost CouchDB (в этом примере моя база данных называется альбомами, но вы просто ввели имя для любой базы данных, с которой вы подключаетесь вместо альбомов, из которых вы кодируете)

CouchDbConnector albums = dbInstance.createConnector("albums", true); 

Шаг 4 - Вы можете распечатать имя базы данных, к которой вы подключены, например.

System.out.println(albums.getDatabaseName()); 

Можно также создать конечную точку, которая будет печатать имя базы данных, к которой вы подключены в браузере, создав метод строкового типа с

return albums.getDatabaseName(); 

Я надеюсь, что это полезно. Я использовал ektorp's reference documentation, чтобы узнать это. Мне потребовалось некоторое время, чтобы понять, как использовать ektorp, как это, и я все еще учусь!

Смежные вопросы