2010-11-01 10 views
5

Ho una tradizionale applicazione a 3 livelli con molla. Uno dei miei repository ha bisogno di> 3 minuti per l'inizializzazione, quindi ho pensato ad un approccio multi-thread per accelerare l'intero processo - penso che la maggior parte dei servizi e dei controller nella mia struttura delle dipendenze possano già essere avviati, quindi solo alcuni devono attendere ultimo repository a venire.Inizializzazione del contesto multi-thread con molla?

Esiste un approccio migliore?

+0

Quale versione di Spring? 3.0.x rende questa roba molto più semplice. – skaffman

+0

sì, io uso 3.0.x - quindi qualche suggerimento? – Jan

risposta

3

Usa l'astrazione di Executor di primavera. E se ti trovi all'interno di un app server, ti suggerisco di utilizzare il work-manager del server delle applicazioni (Spring lo supporta). Ad es. Sia WebSphere App Server che Weblogic supportano la registrazione dei workmanager in JNDI. È quindi possibile passare il nome jndi a primavera. Task Executors

+0

Attualmente utilizziamo Tomcat - supporta anche questo tipo di cose? – Jan

+0

Non credo che Tomcat supporti il ​​manager del lavoro. Ma in Tomcat sei bravo nell'usare altri esecutori forniti dalla primavera: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/scheduling.html –

+0

Vedo solo esempi per l'annotazione metodi, non per l'effettiva inizializzazione. Ho bisogno di un codice personalizzato per gestire l'inizializzazione contestuale del contesto? – Jan