2016-10-26 3 views
1

Nous avons une application qui crée des beans au démarrage en utilisant AnnotationConfigApplicationContext de Spring. Ce que nous essayons de faire, c'est que Spring ne détruise pas tous les beans créés et que l'application échoue au démarrage si la création de l'un des beans échoue. Y a-t-il une config natif de Spring ou un moyen d'y parvenir?Empêcher le printemps de échouer si un seul bean échoue

J'ai essayé de remplacer le AnnotationConfigApplicationContext avec mon propre AnnotationConfigApplicationContext personnalisé et attraper des exceptions là-dedans. Ce qui se passait cependant, c'est quand une exception a été levée, tous les haricots restants n'ont pas été créés.

Nous utilisons Spring 4.3.0.

+3

Pourquoi? Lorsqu'une exception survient, cela signifie que votre application (configuration) est incorrecte, donc elle ne peut/ne démarre pas. Alors, pourquoi avez-vous besoin de cela, généralement cela se produit lorsque vous utilisez le cadre de manière étrange/fausse. –

+1

Out app est une API avec différents points de terminaison, où chaque bean représente un point de terminaison à notre API. Si un bean ou un point de terminaison tombe en panne, nous souhaitons toujours que le reste de l'API démarre et ait des points de terminaison actifs, si cela a du sens. –

Répondre

0

moyen facile de traiter ce problème est par lazy initialisation du bean en utilisant l'attribut lazy-init="true" dans votre déclaration de haricots