| Remarque | ||
|---|---|---|
| ||
DétailParagraphe AOP |
...
Sommaire :
| Sommaire | ||
|---|---|---|
|
...
Les points d'entrée
En ESUPesup-Commons commons V1 on devait modifier les différent points d'entrée de l'application (FacesServlet, FacesPortlet, XFireServlet). Cette approche avait 2 désavantages :
- On était obligé de maintenir ces points d'entrées et il fallait reproduire ce travail si on voulait avoir un nouveau point d'entrée (servlet d'un framework REST par exemple)
- Ce qui était fait l'était notamment pour JSF (FacesServlet, FacesPortlet) ce qui rendait ESUPesup-Commons commons V1 très dépendant de la technologie utilisée pour la vue.
C'est la raison pour laquelle ESUPesup-Commons commons V2 utilise une technologie radicalement différente qui est l'utilisation de AOP (aspect-oriented programming via Spring AOP) pour gérer les connexions aux bases de données et les transactions.
...
- void open(servletContext) : ouvre la connexion à la base de données et commence une transaction ; cette méthode est utilisée en mode web.
- void open() : ouvre la connexion à la base de données et commence une transaction ; cette méthode est utilisée en mode batch.
- void close(boolean) : valide (commit) ou invalide (rollback) la transaction courante et ferme la connexion.
- void test() : teste la connexion; cette méthode est utilisée par la tâche ant test-database.
- boolean isUpdatable() : indique si le gestionnaire est capable de créer et mettre à jour la structure de la base de données (on pourra dans ce cas appeler les méthodes create() et update()).
- void create() : crée les structures de la base de données.
- void update() : met à jour les structures de la base de données.
Remarque title Utiliser _esup-commons_ sans base de données Les utilisateurs ne s'appuyant sur aucune base de données devront utiliser l'implémentation EmptyDatabaseManagerStoreImpl pour le bean databaseManagerStore.
...