Salut,

j'ai une méthode basique de lecture de page web (nommons la parse()) que j'ai mise dans un stateless bean (nommons le SLB). Cette méthode prend en compte une liste d'URLs qui elles se trouvent dans un stateful bean (nommons le SFB).

J'accède à ces beans via une passerelle flash.

Quand j'accède directement à SFB via ma passerelle, pas de soucis j'accède directement à la même référence de stateful bean et donc je peux récupérer les infos persos de ce bean.

Quand j'accède à SLB, j'accède soit à la même référence de stateless bean que précédemment soit à une autre (ce qui est normal en somme).

Par contre, quand j'accède à SLB.parse() j'aimerais pouvoir accéder à mon stateful bean pour y récupérer ma liste d'URLs sauf que j'ai à chaque fois une référence de stateful bean différente...

J'ai vu qu'on ne pouvait pas utiliser @EJB pour injecter une référence de stateful dans un stateless bean car à ce que j'ai compris, l'injection n'est réalisée qu'une seule fois à la création du bean mais pas à chaque appel de celui ci (pas illogique non plus pour le coup...).

Du coup j'ai tester via JNDI dans ma méthode SLB.parse() :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
InitialContext ic;
try {
	ic = new InitialContext();
   	myStatefulBeanLocal = (myStatefulBeanLocal)ic.lookup("java:global/EAR_preouverture/EJB_preouverture/myStatefulBean!test.stateful.myStatefulBeanLocal");
} catch (NamingException e) {			
	e.printStackTrace();
}
J'obtiens à chaque fois une référence différente de stateful bean

D'une facon conceptuelle, dois je appeler SFB, y injecter SLB et appeler SLB.parse() en lui passant ma liste d'URLs ?

Je trouve un peu ca moche...mais y'a t-il une autre manière de faire ?

Merci de vos avis