Printemps de Démarrage: Configuration de la Classe est tout simplement ignorés et ne sont pas chargés
J'ai le texte suivant @Configuration
classe sur le chemin de classe de quelques-uns de mes @SpringBootApplication
s:
@Configuration
@Import({MainConfig.class, RestConfig.class})
public class ApiConfig {
@Bean
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public Client client() throws ExecutionException, InterruptedException {
return service.create(Client.class);
}
}
J'ai deux services qui utilisent cette config (avec un nom différent Client
classes).
Service 1 démarre correctement et de charge ce type de config. Je peux le voir lors de la mise en place d'un bean de type ApiConfig
a été initialisé avec impatience.
Service 2 commence de manière incorrecte: la configuration ci-dessus est la classe tout simplement ignoré et n'est pas initialisé.
Les services sont démarrés en séparer Jvm.
Autres services ont presque identiques, de très petites application.properties
fichiers:
spring.application.name=xxx-api
server.port=0
eureka.name=xxx.api
# Only for reading properties from a central location
context.initializer.classes=com.package.contextClass
Je ne suis même pas sûr de ce genre de renseignements supplémentaires, je pourrais écrire sur la question. J'ai été en passant par des journaux pour un couple d'heures maintenant, et ne voient pas de différence perceptible, simplement parce que clairement, ignore mon @Configuration
classe.
Quelqu'un a eu ce problème avant?
Désolé, c'est censé être chargé à l'aide de
@SpringBootApplication
, c'est à dire à l'aide de @ComponentScan
et @EnableAutoConfiguration
.Dans les deux cas, @Configuration de la classe dans le même package que votre Springboot classe d'application?
OriginalL'auteur user991710 | 2016-12-06
Vous devez vous connecter pour publier un commentaire.
L' @SpringBootApplication annotation (ou, plus précisément, le déduit @ComponentScan annotation) par défaut, seuls les scans le chemin de la classe à côté et au-dessous de la annoté de la classe.
Donc, votre classe de configuration doit être placé à côté ou dans un sous-ensemble de l'Application de la classe.
OriginalL'auteur Tom