Se encuentra en:
Limitación de registros devueltos
PAUT-0025 (Pauta)
- Área: Uso de Alfresco desde Terceras Aplicaciones
- Tipo de pauta: Directriz
- Carácter de la pauta: Recomendada
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();
}