Performance de l'application et comportement du bean entity

WebSphere Application Server permet d'ignorer deux comportements requis par la spécification EJB (Enterprise JavaBeans) car il est parfois préférable que l'application gère les données des beans d'une manière légèrement différente.

Synchronisation des magasins persistants gérés par application pour les méthodes findBy

Les sections 10.5.3 et 12.1.4.2 des spécifications EJB 2.0 et 2.1 requièrent que le conteneur EJB copie dans les dans le magasin persistant l'état de tous les beans entity du type impliqués dans la transaction en cours, avant d'exécuter une requête dans le cadre d'une méthode findBy (sauf pour findByPrimaryKey). En d'autres termes, le conteneur effectue les opérations suivantes :
  1. Etablit la liste des beans impliqués dans la transaction en cours dont le type correspond à celui renvoyé par la findby
  2. Stocke l'état des beans enterprise dans un magasin de données avant d'exécuter la requête.
Si l'état d'une instance d'EJB n'est pas modifié dans la transaction en cours, l'opération de stockage est ignorée pour cette instance. Cette procédure permet de s'assurer que la requête est effectuée sur l'état le plus récent de toutes les données persistantes et de limiter les problèmes liés à l'intégrité des données.

Toutefois, dans certains cas, il est inutile ou inopportun que le conteneur EJB effectue automatiquement cette opération sur chaque méthode findBy. C'est notamment le cas lorsque l'application vérifie elle-même que les données les plus récentes sont utilisées pour les requêtes findBy ou lorsque l'application peut tolérer quelques données plus anciennes dans les résultats de la requête.

WebSphere Application Server permet d'initier la procédure de synchronisation sous le contrôle de l'application et de désactiver la synchronisation gérée par conteneur pour des types d'EJB spécifiques au sein de l'application. Une utilisation réfléchie de ces fonctions peut améliorer les performances de l'application sans remettre en cause l'intégrité des données. Consultez la rubrique Manipulation de la synchronisation de beans entity et de sources de données.

Invocations ejbStore sur des instances de beans entity

La spécification d'EJB requiert que le conteneur EJB appelle la méthode ejbStore fournie par l'utilisateur au sein d'une transaction lorsque cette transaction est validée. Pour les beans CMP (par opposition aux beans BMP), cette opération est généralement inutile car cette méthode est souvent vide avec ce type de bean. Même lorsque la méthode n'est pas vide, il est possible que l'application ne requière que l'appel de la méthode si l'état persistant du bean est modifié lors de la transaction en cours.

WebSphere Application Server fournit un mécanisme à indiquer si vous voulez que des types d'EJB spécifiques adoptent ce comportement au sein de l'application. Consultez la rubrique Procédure pour éviter les invocations ejbStore sur des instances EntityBean non modifiées.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cdat_disflush
Nom du fichier : cdat_disflush.html