Méthode flush à distance pour les beans d'entité
WebSphere Application Server n'écrit pas les modifications apportées aux beans d'entité dans la base de données jusqu'au moment où la transaction est validée. Par conséquent, la base de données peut sortir temporairement de la synchronisation avec les données mises en cache dans le conteneur du bean d'entité.
Une méthode flush à distance est fournie (dans la classe com.ibm.commerce.base.helpers.BaseJDBCHelper), écrit toutes les modifications validées dans la transaction en cours associée à la requête utilisateur (elle extrait des informations depuis le cache de bean d'entreprise) et met à jour la base de données. Cette méthode distante peut être appelée par une commande. Utilisez cette méthode uniquement lorsque cela est absolument nécessaire. Elle est coûteuse en termes de frais généraux et a un impact négatif sur le rendement.
Prenons une commande de connexion qui inclut le code suivant :
UserAccessBean uab = ...;
uab.setRegisteredTimestamp(currentTimestamp);
uab.commitCopyHelper();
select * from USERS where REGISTRATIONUPDATE > '2002-11-16 14:54:20'com.ibm.commerce.base.objects.ServerJDBCHelperBean helper = SessionBeanHelper.lookupSessionBean(ServerJDBCHelperBean.class);
helper.flush();