bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Recuperare l'oggetto HttpServletRequest fuori dal contesto

Io e la mia collega Serena Traversi (a tutti gli effetti la pioniera di questa scoperta) ci siamo trovati ad avere necessità di utilizzare l'oggetto HttpServletRequest all'interno di un model listener (ma questo vale in tutti i punti del portale in cui siamo fuori dal contesto e non abbiamo alcun tipo di request) scoprendo che è possibile recuperarlo utilizzando questa chiamata:

HttpServletRequest request = ServiceContextThreadLocal.getServiceContext().getRequest();

Analogamente:

HttpServletResponse response = ServiceContextThreadLocal.getServiceContext().getResponse();

Hope this help

Commenti
Aggiungi Commento
Marco Napolitano
Purtroppo temo che questo meccanismo funzioni solamente nel caso in cui venga chiamato il metodo update(T model, ServiceContext serviceContext) della classe di persistence, che effettivamente inserisce il serviceContext corrente all'interno del thread local.
Temo che invocando invece il metodo update(T model) si "bypassi" il thread local ottenendo risultati non prevedibili.
Mi sto sbagliando? Avete fatto prove a riguardo?
Inviato il 14/06/16 16.13.
Francesco Falanga
No, non abbiamo fatto prove a riguardo.. Ma credo tu abbia ragione
Inviato il 14/06/16 16.21 in risposta a Marco Napolitano.
Serena Traversi
Dall'occhiata veloce che ho dato penso sia usabile se chiamato all'interno di una process action, chiaramente è da usare con le pinze (nel nostro caso servivia per far fronte a un'esigenza imprevista) e va assolutamente try-catchato...
Inviato il 14/06/16 17.11.