Une fois mon application terminée, je veux fermer le contexte Spring.
Le code pertinent comporte un ApplicationContext
mais je n'ai pas pu trouver une close
méthode.
Réponses
Trop de publicités?Baisse de ton ApplicationContext
a ConfigurableApplicationContext
qui définit [close()
](http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/context/ConfigurableApplicationContext.html#close()) méthode :
((ConfigurableApplicationContext)appCtx).close();
Vous devez enregistrer un crochet d'arrêt avec la JVM comme indiqué ci-dessous :
((AbstractApplicationContext)appCtx).registerShutdownHook();
Pour plus d'informations, voir : Manuel de printemps : 3.6.1.6 Fermeture progressive du conteneur IoC de Spring dans les applications non web
Si Java SE 7 et plus Si vous ne fermez pas, utilisez try-with-resources qui garantit que chaque ressource est fermée à la fin de la déclaration.
try(final AbstractApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"classpath*:META-INF/spring/*.xml" }))
{
//write your code
}
Étapes pour fermer le ApplicationContext
Objet
- Type Cast le
ApplicationContext
S'opposer àConfigurableApplicationContext
objet. - puis appeler l'objet de fermeture sur cela.
exemple :
ApplicationContext context = new ClassPathXmlApplicationContext("mybeans.xml");
((ConfigurableApplicationContext)context ).close();
- Réponses précédentes
- Plus de réponses