Ho un'applicazione Web utilizzando la primavera e vanno in letargo e puntoni (funziona su Tomcat)Discussioni in primavera
La sequenza di chiamata è qualcosa di simile ...
Struts azione chiama primavera fagioli servizio che a sua volta chiama bean DAO Spring. L'implementazione DAO è un'implementazione di Hibernate.
La domanda è Tutti i miei fagioli primaverili sarebbero in esecuzione nello stesso thread? Posso archiviare qualcosa nel ThreadLocal e ottenerlo in un altro bean?
Sono sicuro che questo non funzionerebbe in Stateless Session Bean. Il contenitore EJB può (o verrà) generare un nuovo thread per ogni chiamata al bean di sessione
Il contenitore della molla farà lo stesso? ad esempio, esegui tutti i fagioli nello stesso thread?
Quando ho provato un test JUnit -. Ho avuto la stessa id via Thread.currentThread() getId() nel caso di test e le due beans- che mi porta a credere che ci fosse un solo thread in azione
Oppure il comportamento è imprevedibile? O cambierà durante l'esecuzione sul server Tomcat?
Chiarimento Non desidero scambiare dati tra due thread. Voglio mettere i dati nel ThreadLocal ed essere in grado di recuperarlo da tutti i bean nello stack delle chiamate. Funzionerà solo se tutti i bean si trovano nello stesso thread
Potresti postare qualche codice di esempio, per favore? Non sono sicuro di cosa stai cercando di raggiungere. –