1
votes

Problème avec l'API Google Cloud Pub / Sub et l'application Spring Boot

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?


0 commentaires

3 Réponses :


1
votes

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);
    }


3 commentaires

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.



0
votes

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 >


0 commentaires

0
votes

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{

}


0 commentaires