0

LDAP データベースで毎日検索を行う Web アプリケーションがあります。これは、スケジュールされたタスクで春の LDAP ライブラリを介して行われます。この検索で​​は、約 20000 件の結果が返されます。次に、問題が発生するすべてのユーザーの属性を変更したいと考えています。リレーショナルデータベースのようなグループ変更機能があればいいのにと思います(set a = x where b

だから私は2つのアプローチを試しました:

各ユーザーをループし、次のようにします。

DistinguishedName userDn = buildDn(user);
  DirContextOperations dtCtx = ldapTemplate.lookupContext(userDn);

  for(int i = 0; i < attributes.length; i++){
      dtCtx.setAttributeValue(attributes[i], values[i]);
  }
  ldapTemplate.modifyAttributes(dtCtx);

これは機能しますが、非常に時間がかかります。

2 番目のアプローチは最初のアプローチと同じですが、ユーザーのリストを切り刻み、マルチスレッドで変更します。これははるかに高速に機能しますが、それでもうまくスケーリングしません。LDAP は opends データストアです。

Web アプリケーションから LDAP でバッチ変更を行うより良い方法はありますか?

4

1 に答える 1