J'écris une application de démarrage de printemps pour m'abonner au sujet Google Cloud Pub / Sub pour cela J'utilise tutoriel , mais lorsque j'exécute l'application, j'obtiens cette erreur
2019-02-02 18:03:10.248 INFO 15080 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2019-02-02 18:03:10.271 INFO 15080 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-02-02 18:03:10.610 ERROR 15080 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Parameter 1 of method messageChannelAdapter in tech.garoon.cloud.CloudApplication required a bean of type 'org.springframework.cloud.gcp.pubsub.core.PubSubTemplate' that could not be found. Action: Consider defining a bean of type 'org.springframework.cloud.gcp.pubsub.core.PubSubTemplate' in your configuration. Process finished with exit code 1
Comment puis-je résoudre ce problème?
3 Réponses :
GcpPubSubAutoConfiguration fournit une fonction de configuration automatique pour créer les beans nécessaires, y compris PubSubTemplate. Dans votre cas, quelque chose manque, veuillez vous assurer que les dépendances sont en place ou recréer le bean suivant pour le faire fonctionner.
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-gcp-starter-pubsub</artifactId> </dependency>
De plus, assurez-vous que GcpContextAutoConfiguration est créé en fonction sur les propriétés ci-dessous dans application.properties.
spring.cloud.gcp.credentials.location=${gcp_credentials}
dépendance de démarrage :
@Bean public PubSubTemplate pubSubTemplate(PubSubPublisherTemplate pubSubPublisherTemplate, PubSubSubscriberTemplate pubSubSubscriberTemplate) { return new PubSubTemplate(pubSubPublisherTemplate, pubSubSubscriberTemplate); }
Merci pour ta réponse j'ai raté ajouter une dépendance. )) implémentation 'org.springframework.cloud:spring-cloud-gcp-autoconfigure:1. 1.0.RELEASE'
il fait partie de gcp-starter-pubsub. Si la réponse ci-dessus vous a aidé, veuillez l'accepter.
. J'ai toutes les dépendances. Je peux même importer GcpPubSubAutoConfiguration. Ça ne marche toujours pas. Toujours obtenir Aucun bean éligible de type 'org.springframework.cloud.gcp.pubsub.core.PubSubTemplate' disponible.
J'ai ajouté cette dépendance
dependencies { implementation 'org.springframework.cloud:spring-cloud-gcp-pubsub:1.1.0.RELEASE' implementation 'org.springframework.cloud:spring-cloud-gcp-autoconfigure:1.1.0.RELEASE' implementation "org.springframework.boot:spring-boot-starter-web:2.1.2.RELEASE" implementation 'org.springframework.integration:spring-integration-core:5.1.2.RELEASE' }
Mes dépendances
implementation 'org.springframework.cloud:spring-cloud-gcp-autoconfigure:1.1.0.RELEASE'
p >
si vous utilisez une classe de configuration externe qui enregistre vos canaux, vos gestionnaires de messages, etc., assurez-vous d'annoter la classe de configuration avec @Import({GcpPubSubAutoConfiguration.class})
@Configuration @Import({GcpPubSubAutoConfiguration.class}) public class PubSubConfig{ }