La mia applicazione utilizza Spring DefaultMessageListenerContainer
per elaborare i messaggi in arrivo. Il metodo principale dell'applicazione registra già un hook di chiusura.Il modo migliore per forzare lo spegnimento Spring da un bean?
La domanda è questa: qual è il modo migliore per forzare l'arresto del contesto dell'applicazione?
Se lancio un RuntimeException
nel listener dei messaggi, viene gestito dal contenitore e non viene inoltrato. Sta chiamando System.exit accettabile? Devo passare il ApplicationContext
ad ogni classe che deve essere chiusa, quindi posso chiamare close()
su di esso?
perché avete bisogno di chiudere giù il contesto dell'applicazione? – Bozho
Poiché il listener dei messaggi può decidere che è necessario; o perché ha ricevuto un messaggio di amministrazione che chiede all'app di spegnersi o perché si è verificata una condizione anormale. Ce ne sono molti, uno di questi è troppi tentativi di essere ricevuti (questo è un sistema ad alto volume) – xcut