Spec-Zone .ru
спецификации, руководства, описания, API
|
javax.naming.ldap.BasicControl, который реализует javax.naming.ldap.Control, служит основной реализацией для того, чтобы расширить другие средства управления.
Пронумерованное страницы управление результатами полезно для клиентов LDAP, которые хотят получить результаты поиска управляемым способом, ограниченным размером страницы. Размер страницы может быть сконфигурирован клиентом согласно доступности его ресурсов, как пропускная способность и возможность обработки.
Сервер использует cookie (подобный механизму cookie сеанса HTTP), чтобы поддержать состояние запросов поиска, чтобы отследить результаты, отправляемые клиенту. Пронумерованное страницы управление результатами определяется в
Пример ниже иллюстрирует взаимодействие клиент-сервер между клиентом, делающим поиск, запрашивающий предел размера страницы 5. Весь набор результатов, возвращенный сервером, содержит 21 запись.
// Activate paged results int pageSize = 5; // 5 entries per page byte[] cookie = null; int total; ctx.setRequestControls(new Control[]{ new PagedResultsControl(pageSize, Control.CRITICAL) }); // Perform the search NamingEnumeration results = ctx.search("", "(objectclass=*)", new SearchControls());
// Iterate over a batch of search results sent by the server while (results != null && results.hasMore()) { // Display an entry SearchResult entry = (SearchResult)results.next(); System.out.println(entry.getName()); // Handle the entry's response controls (if any) if (entry instanceof HasControls) { // ((HasControls)entry).getControls(); } } // Examine the paged results control response Control[] controls = ctx.getResponseControls(); if (controls != null) { for (int i = 0; i < controls.length; i++) { if (controls[i] instanceof PagedResultsResponseControl) { PagedResultsResponseControl prrc = (PagedResultsResponseControl)controls[i]; total = prrc.getResultSize(); cookie = prrc.getCookie(); } else { // Handle other response controls (if any) } } }
// Re-activate paged results ctx.setRequestControls(new Control[]{ new PagedResultsControl(pageSize, cookie, Control.CRITICAL) });
Полный пример JNDI может быть найден here
.
Отметьте: Пронумерованное страницы Управление Поиском поддерживается Windows Active Directory Server. Это не поддерживается версией 5.2 Сервера каталогов Java Sun