Le 26/04/2012 12:48, Eric Chatellier a écrit :
Donc nous avons: * les handler qui s'enregistrent sur les proxy monitorable et qui sont notifiés des modifications suite à l'appel d'une méthode sur un service. Cela reste interne à un client, et cela permet de mettre à jour facilement les interfaces qui manipule les mêmes données.
Faute de mieux, ce mécanisme d'enregistrement sur les services restera comme cela pour le moment. Une autre solution pourra être envisagée plus tard si un besoin se fait sentir, avec une architecture différente.
* L'interceptor qui initie une topia context et qui l'enregistre dans la transaction courante (enlist). Même si ça fonctionne, je ne suis pas fan du fonctionnement: - thread local, avec accès statiques - j'ai l'impression que c'est plus un hack qu'autre chose. - la xaresource implémente 2 méthodes sur 8
Cette solution va être changer sur la constatation que, dans la même optique que JPA, le topiacontext est inutile à la couche service, seul les DAO le sont. Le topia context va toujours être englobé dans une XAresource enlistée dans la transaction du conteneur, et le DAOHelper va être instancié avec ce topia context par l'intercepteur. Reste maintenant a essayer de pousser ce DAOHelper aux EJB via IOC. A tester: - @Inject : JSR 330 - CDI : http://docs.oracle.com/javaee/6/tutorial/doc/giwhl.html -- Éric Chatellier <chatellier@codelutin.com> Tel: 02.40.50.29.28 http://www.codelutin.com