[Spring] java.lang.IllegalStateException

Rispondi
Roberto
Amministratore
Messaggi: 160
Iscritto il: 19/12/2009, 19:30

[Spring] java.lang.IllegalStateException

Messaggio da Roberto »

Utilizzando un applicativo creato con il framework Java Spring e MongoDB come base di dati su cui era attivo il sistema di autenticazione, di ricevere il seguente errore: "java.lang.IllegalStateException: state should be: open".

Questo errore si riferisci all'impossibilità per Spring di effettuare una connessione al DB e nel mio caso specifico ciò era dovuto a causa della chiusura dell'Application Context:

Codice: Seleziona tutto

	public void run(String... args) throws Exception {
		ConfigurableApplicationContext cctx =  new ClassPathXmlApplicationContext("META-INF/spring/repository-context.xml");

      //Fai qualcosa

		cctx.close();
	}
Questo accade perchè quando si chiude l'application context nel main dell'applicazione, vengono tirati giù anche i beans e a sua volta viene chiuso anche il MongoClient con il risultato che se c'e' un Thread che tenta di usare un mongo client che risulta essere in IllegalStateException quando un thread in Background tenta di utilizzarlo.

Roberto Basile
Rispondi