Как разрешить javax.naming.PartialResultException?
Мы видим это предупреждение в наших журналах
javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=global,dc=com'
Он появляется всякий раз, когда пользователи регистрируются в нашем приложении.
В соответствии с этим сообщением SO его можно решить, установив Context.REFERRAL
в follow
. Но это увеличивает время поиска от 1 секунды до 4 секунд.
Фактически вы можете ссылаться на этот пост SO,, говорит, что использование follow
замедляет поиск.
Итак, мой вопрос: какой лучший способ избавиться от этого исключения из наших журналов, не влияя на производительность?
Ответы
Ответ 1
ХОРОШО. Вы увидите это исключение, когда ваш поиск вернет реферала и вы настроите его игнорировать.
[Реферал: при поиске в AD, если AD считает, что в другом месте доступно больше информации, он возвращает реферал [место для получения дополнительной информации] вместе с результатами поиска.]
Вы можете избежать этого исключения, установив Context.REFERRAL
чтобы follow
. Тогда он будет искать в реферале также [Вот почему требуется больше времени, чтобы вернуть результат].
Но в моем случае реферал недействителен и вернул еще одно исключение.
Я исправил эту проблему, изменив baseDN (поиск базы), чтобы быть более конкретным. Например, ou=users,dc=mydomain,dc=com
. Сейчас я не вижу этого исключения, потому что оно не возвращает ни одного реферала.
Ответ 2
Другим возможным решением, которое может работать, является изменение номера порта (при условии, что это GC-сервер):
Если вы использовали порт 389, измените его на 3268
Если вы использовали порт 636, измените его на 3269
Это может работать, потому что (и цитирую):
Сервер GC (глобальный каталог) возвращает рефералы на 389, чтобы ссылаться на больший "лес" AD, но действует как обычный LDAP-сервер на 3268 (и 3269 для LDAPS)
Это сработало для меня.
Я нашел это решение в списке пользователей Shibboleth, на который ответил Paul Caskey (все ему спасибо).
Вы можете проверить разговор по этой ссылке:
https://lists.internet2.edu/sympa/arc/shibboleth-users/2008-06/msg00039.html