Ocorre MaxResultsExceededException Durante a Procura no Repositório LDAP

Siga as etapas listadas aqui para resolver o problema quando ocorrer uma MaxResultsExceededException.

Problema

A MaxResultsExceededException descrita a seguir ou uma semelhante ocorre ao recuperar resultados da procura no servidor LDAP:

com.ibm.websphere.wim.exception.MaxResultsExceededException: 
CWWIM1018E os resultados da procura excedem o limite máximo de procura de 4500. 

Essa exceção é emitida quando o número de entradas nos resultados da procura recuperados do servidor LDAP excede o valor do parâmetro maxSearchResults especificado no arquivo wimconfig.xml.

Solução

Quando o aplicativo chamar o método search() do gerenciador de membro virtual, use o parâmetro countLimit para transmitir um valor para truncar os resultados da procura quando esse valor for atingido. No gráfico de dados de amostra a seguir, o countLimit está configurado como 4, o que significa que os resultados serão truncados quando 4 entradas forem recuperadas do servidor LDAP.

<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:sdo="commonj.sdo" xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:controls xsi:type="wim:SearchControl" countLimit="4" expression="//entities[@xsi:type='PersonAccount' and uid='*']">
      <wim:properties>uid</wim:properties>
      <wim:properties>cn</wim:properties>
      <wim:properties>sn</wim:properties>
      <wim:properties>mail</wim:properties>
    </wim:controls>
  </wim:Root>
</sdo:datagraph>

Se o parâmetro countLimit não estiver configurado quando o aplicativo chamar o método search(), todas as entradas serão recuperadas do servidor LDAP. Se o número de entradas recuperadas do servidor LDAP exceder o valor maxSearchResults, a exceção MaxResultsExceededException ocorrerá.

Para assegurar-se de que essa exceção não seja emitida, configure o valor de countLimit para menos que o valor de maxSearchResults.

Nota: As propriedades maxSearchResults e searchTimeOut definem limites sobre as procuras feitas pelo método search(). As propriedades searchCountLimit e searchTimeLimit definem limites sobre procuras de grupo, ancestral ou descendente em um repositório LDAP.
Seguem valores de amostra para essas propriedades:
  • maxSearchResults=”110000”
  • searchTimeOut=”600000”
  • searchCountLimit=”500”
  • searchTimeLimit”120000”

Você não pode configurar o valor de maxSearchResults usando o console administrativo ou a interface de linha de comandos. É possível configurá-lo manualmente, editando o arquivo wimconfig.xml. O valor padrão é 4500.

Tópicos Relacionados

Objeto de Dados SearchControl

Configurações de Desempenho do Lightweight Directory Access Protocol

Grupo de comandos IdMgrRepositoryConfig para o objeto AdminTask



Termos de uso | Feedback