web-dev-qa-db-ja.com

javax.naming.PartialResultExceptionを解決する方法は?

ログにこの警告メッセージが表示されています

javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=global,dc=com'

ユーザーがアプリケーションにログインするたびに表示されます。

this SO post のように、Context.REFERRALからfollowへ。ただし、検索時間は1秒から4秒に増加します。

実際には、 this SO post を参照できます。followを使用すると、検索が遅くなります。

私の質問は、パフォーマンスに影響を与えずにログからこの例外を取り除く最善の方法は何ですか?.

33
Karthik Bose

OK。検索で紹介が返され、紹介を無視するように設定すると、この例外が表示されます。

[参照:ADで検索するときに、ADが別の場所で利用可能な情報があると判断した場合、検索結果と共に参照[詳細情報を検索する場所]を返します。

Context.REFERRALfollowに設定すると、この例外を回避できます。次に、紹介も検索します[そのため、結果を返すのに時間がかかります]。

しかし、私の場合、紹介は無効であり、別の例外を返しました。

BaseDN(検索ベース)をより具体的に変更することにより、この問題を修正しました。例えば。 ou=users,dc=mydomain,dc=com。今、私はこの例外を見ていません、なぜならそれは紹介を返さないからです。

45
Karthik Bose

動作する可能性のある別の解決策は、ポート番号を変更することです(これがGCサーバーであると仮定):

ポート389を使用していた場合は、3268に変更します

ポート636を使用していた場合は、3269に変更します

これは機能する可能性があります(そして私は引用しています):

GC(グローバルカタログ)サーバーは、389で紹介を返し、より大きなAD "フォレスト"を参照しますが、3268(およびLDAPSの場合は3269)の通常のLDAPサーバーのように動作します

それは私のために働いた。

このソリューションはShibboleth Usersリストにあり、Paul Caskeyが回答しました(彼の功績です)。

このリンクで会話を確認できます。

https://lists.internet2.edu/sympa/arc/shibboleth-users/2008-06/msg00039.html

57
Edenshaw