Limitación de registros devueltos

PAUT-0025 (Pauta)

Cuando se usan Web Services para realizar consultas en Alfresco es recomendable limitar el número de registros que devolverá la petición.

De esta manera se evitará tener que recoger resultado con un tamaño demasiado grande para que se puedan manejar correctamente. Esta limitación se realiza estableciendo la propiedad fetchSize del elemento Query Header y colocando este directamente en la cabecera SOAP:

// establecemos el tamaño del fetchSize en el elemento Query Header
int Tamanno = 10;
QueryConfiguration queryCfg = new QueryConfiguration();
queryCfg.setFetchSize(Tamanno);
//Insertamos Query Header en cabecera SOAP
RepositoryServiceSoapBindingStub repositoryService = WebServiceFactory.getRepositoryService();
repositoryService.setHeader(new RepositoryServiceLocator().
GetServiceName().
                    getNamespaceURI(),
                    "QueryHeader",
                    queryCfg);
//recogemos los primeros resultados
QueryResult resultado = repositoryService.query(STORE, getQuery(sConsulta), true);
//procesamos el primer resultado
String querySession = resultado.getQuerySession();
while (querySession != null) {
    // recogemos los siguientes conjunto de resultados
    resultado = repositoryService.fetchMore(querySession);
    // procesamos los siguientes conjuntos de resultados.
    querySession = resultado.getQuerySession();
}