Bonjour,

Je souhaite réaliser une Factory de services, en gros une Factory me retournant une classe d’implémentation dont le type diffère selon les cas.

Dans le bout de code suivant j'ai commencé en mettant des "new" mais après réflexion ça doit surement poser des soucis de transaction atomicité ou je ne sais quoi car ces classes magiques contiennent des références à des EJB, du JPA etc... Bref ça me paraissait plus sûr de récupérer ces classes à partir de leur conteneur EJB mais j'ignore comment faire.

Sur le net j'ai pu lire qu'il fallait utiliser leur nom JNDI mais avant de me lancer là-dedans, je voulais savoir si cette façon de faire était cohérente ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
public class MagicServiceFactory {
 
    public static IMagicService getInstance(boolean yesorno) {
        if (yesorno) {
            return new MagicFootService();
        } else{
            return new MagicHandService();
        }
    }
}
Un aperçu des mes classes magiques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
@Stateless
public class MagicHandService implements IMagicService {
....
}
Merci d'avance pour votre aide.