SPRING LDAP занимает 2,10 минуты с перерывами - PullRequest
0 голосов
/ 25 июня 2018

Я использую spring-security-ldap-3.2.9, spring-ldap-core-1.3.2.

Время от времени мы сталкиваемся с зависаниями ldap, когда это занимает более 2 минут. Реализация без пружинных рамок не имеет проблем.

Это известная проблема или какая-то конфигурация, которую мне не хватает.

Ответы [ 2 ]

0 голосов
/ 24 июля 2018

Я действительно не мог найти причину, поскольку это происходило внутри фреймворка, и я не мог редактировать любой код.

Наконец, я переключил свою реализацию обратно на простую реализацию LDAP с Java без пружины, и пока она работает нормально.

0 голосов
/ 22 июля 2018

Звучит как проблема с пулом соединений.Предполагая, что у вашей службы есть выделенный принципал, который использует постоянное соединение (например, для поиска пользователей), тогда он может пытаться выполнить запросы на устаревшем соединении.Если пул не был настроен для регулярной проверки этих соединений, то он может полагаться исключительно на тайм-ауты для определения необходимости восстановления соединения.

Spring LDAP поддерживает пул Apache Commons Pool, который имеет встроенное соединениепараметры конфигурации проверки и обслуживания (см. раздел 9.1 в справочных документах).Включение опций testOnBorrow и testWhileIdle в пулированном ContextSource, как правило, помогает избавиться от устаревших соединений с минимальной конфигурацией.Если вы используете пул, рассмотрите возможность обновления до весеннего ldap 2.1+, если это возможно, что вводит поддержку Apache Commons Pool 2 .

Сервер LDAP также будет иметь свои собственные настройки времени ожидания, в которых онсбрасывает свой конец соединения после определенного периода простоя.Любые соединения, созданные вашей службой, должны иметь время простоя, которое меньше времени простоя на стороне сервера LDAP.Это упреждающе прервет незанятые соединения перед истечением времени ожидания сервера LDAP, заставив установить новое соединение в следующий раз, когда соответствующему участнику потребуется установить связь с сервером LDAP.

...