Bonjour !

J'aimerais créer un EJB3 qui reste tout le temps en mémoire, cad qu'entre 2 appels d'un client sur l'ejb, ses variables sont toujours les mêmes (d'ailleurs j'aimerais y faire tourner quelques threads en tache de front).

Il me semblait qu'un ejb session était exactement ça mais en fait je me suis trompé...

J'ai voulu tester de cette manière :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
@Stateful
public class NewSessionBean implements ea.ejb.NewSessionLocal {
 
private String message;
 
/** Creates a new instance of NewSessionBean */
public NewSessionBean() {
message = "";
}
public String hello(){
return message + "toto";
}
}
et mon webservice :
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
 
@WebService()
public class NewWebService {
 
@EJB
private NewSessionLocal newSessionBean;
/**
* Web service operation
*/
@WebMethod
public String operation() {
return newSessionBean.hello();
}
 
}
mais ça renvoie toujours "toto" même apres 2 appels successif.

Je vois que 2 explications : soit un ejb est créé, fait ce qu'il à faire et est détruit. soit coté client je recréer un EJB différent à chaque fois...

Est ce que vous pourriez m'aiguiller pour donner la "vie éternel" a mon ejb ?

Merci