Bonjour,
Je commence tout juste à me mettre au EJB et tout n'est pas encore très clair.
Mon but est d'utiliser un EJB pour gérer un cache et alors nettoyer un répertoire en supprimant les X plus anciennes images et je ne veux qu'un seul EJB pour faire cela
Je n'ai pas la possibilité via Websphère 5.1 de limiter le pool à un EJB.
est-il possible de passer par un singleton pour limiter le nombre d'EJB instancier.
De cette manière ja méthode create sera appelée une seule fois mais il y a un hic il me semble puisqu'il me semble qu'a partir d'un certain temps si l'EJB n'est plus utiliser celui-ci est détruit et dans ce cas la je suis coincé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 private SingletonEJB() { NettoyerHome home = null; try { //-------------------------------------------------------------------------------------// // Chargement de l'EJB // //-------------------------------------------------------------------------------------// javax.naming.InitialContext initialContext = new InitialContext(); try { Object objref = initialContext .lookup("ejb/NettoyerHome"); home = (NettoyerHome) PortableRemoteObject.narrow(objref, NettoyerHome.class); } catch (Exception e) { e.printStackTrace(); //On efface le lock, on jete l'erreur } } catch (Exception e) { e.printStackTrace(); } //-------------------------------------------------------------------------------------// // Création de l'EJB // //-------------------------------------------------------------------------------------// try { monEJB = home.create(); } catch (Exception e) { e.printStackTrace(); } }
Est ce qu'il y a des choses que je n'ai pas compris ? surement
Est-ce que je veux faire est-il vraiment réalisable ?
Dois-je déplacer mon home.create() de mon singleton ?
si vous avez des idées je suis preneur
merci,
Partager