Bonjour
Je me decide a poster car rien ne marche apres maintes recherches.
J'essaie de mettre en oeuvre un EJB stateful qui sera par la suite expose en WEB service.
Mon interface
Mon EJB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @Remote @WebService // @SOAPBinding(style = Style.RPC) public interface IBillingEjbService { public int synchronize(String partnerName); public int endService(); }
Ainsi mon EJB doit donc compter.
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
38 @Stateful @WebService(endpointInterface = "IBillingEjbService") // @Interceptors(SpringBeanAutowiringInterceptor.class) public class BillingEjbService implements IBillingEjbService { private final Logger logger = Logger.getLogger(this.getClass()); // @Autowired private Integer test = 0; public BillingEjbService() { this.logger.debug("Constructed"); this.test = 0; } @Override @WebMethod(operationName = "Synchronize") public int synchronize(@WebParam(name = "partnerName") String partnerName) { // TODO Auto-generated method stub this.test++; return test; } @Override @Remove @WebMethod public int endService() { // TODO Auto-generated method stub this.logger.debug("destroy"); return 0; } }
Je lance le tout avec Jboss sans souci.
J'accede au WSDL et l'importe dans SOAP UI.
J'appelle la fonction initialize et a chaque appel il incremente la valeur de test.
Selon ma comprehension, si j appelle la fonction endService l'ejb est detruit et un nouvel appel de inialize creerait un nouvel EJB pour recmmencer a compter.
Mias rien de tel. Lorsque j'appelle initialize apres avoir appelle endService, le comptage continue comme si l'ejb etait toujours present.
J'ai aussi essayer d'y accedeer avec deux instances de Soap UI sur des machines separees. et le resultat est le meme. une seule instance de l'ejb semble servir les deux clients.
Y a til d'autres choses a ajouter a ma configuration?
Merci d'avance
Partager