Considérations relatives à la couche de service de données (DSL) lors de la définition de plages autorisées pour les objets métier
Bien que la plupart des conditions non limitées puissent être détectées et atténuées par les composants métier, il est toujours possible de divulguer des instructions de requête non limitées dans la couche de service de données pour l'exécution qui pourraient éventuellement affecter les performances du système ou causer des pannes de site.
- Utilisation du COUNT SQL dans le modèle de requête. DSL l'exécute pour déterminer la taille exacte de l'ensemble de résultats. Cela peut toutefois introduire de petites surcharges d'exécution à l'exécution globale.
- A l'aide de l'indicateur
returnPagingCountIfMaximumResultLimitExceeded, défini dans le fichier wc-component.xml :<xsd:attribute name="returnPagingCountIfMaximumResultLimitExceeded" type="xsd:boolean" use="optional"> </xsd:attribute>Cet attribut détermine si la taille de l'ensemble de résultats doit être incluse dans le message d'exception d'application lorsque le nombre d'enregistrements renvoyés par la requête XPath à SQL dépasse le maximum défini par l'attribut maximumPagingResultLimit. La taille de l'ensemble de résultats est toujours renvoyée si la requête SQL de nombre de pages est fournie pour une requête donnée. Toutefois, si une telle requête n'est pas spécifiée, la taille de l'ensemble de résultats ne sera calculée que si cet attribut est défini sur
true.Le fait de définir la valeur true fait que le DSL calcule le nombre total d'enregistrements. Bien que le nombre soit plus fiable et précis, le coût de traitement pourrait être élevé en phase d'exécution.
Remarque : Cet attribut est facultatif, et la valeur par défaut est false. Autrement dit, DSL lance une exception d'application lorsque la limite maximale de nombre de pages a été atteinte ou dépassée. Par conséquent, le nombre total peut ne pas être très fiable dans ce cas, mais sera plus performant.