Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoPietro Messina Modificato 10 anni fa
1
Spago thread safety BUG
2
Situazione Lutente richiama una pagina PAGE con publisher jsp (padre) La jsp (padre) di presentazione fa 3 chiamate ajax a 3 PAGE spago diverse
3
Passo 2 Ogni page richiamata via ajax ha un publisher jsp (figlie) Ogni jsp figlia si limita a mostrare la service response tramite oggetti diversi in tempi diversi: –ResponseContainerAccess.getResponseContainer(request).getServiceResponse() –ResponseContainer.getResponseContainer().getServiceResponse() –E anche dopo un attesa di 100ms. –ResponseContainerAccess.getResponseContainer(request).getServiceResponse() –ResponseContainer.getResponseContainer().getServiceResponse() 1 2 3 4 In teoria le 4 textarea dovrebbero mostrare la service_response prodotta dalla PAGE corrispondente
4
Codice JSP (figlie) – – ResponseContainerAccess.getResponseContainer(request).getServiceResponse() – – ResponseContainer.getResponseContainer().getServiceResponse() – – Sleep di 100ms –<% –Thread t = new Thread(); –t.sleep(100); –%> – – ResponseContainerAccess.getResponseContainer(request).getServiceResponse() – – ResponseContainer.getResponseContainer().getServiceResponse() –
5
BUG? In pratica, a fronte di più richieste contemporanee ( es 3 chiamate ajax ) eseguite su pagine diverse il ResponseContainerAccess confonde la service response di request con quella di unaltra. Il risultato è visibile nel seguente screenshoot Nella stessa jsp laccesso alla serviceResponse in istanti diversi produce risultati diversi (sempre nellesecuzione della stessa page)
6
in particolare la serviceResponse errata visualizzata dalla chiamata ajax 1 è relativa a quella prodotta da unaltra chiamata ajax Page 2 Ajax Page 1 AjaxPage 2 AjaxPage 3
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.