Проблема с Google Cloud Pub / Sub API и загрузочным приложением Spring - PullRequest
0 голосов
/ 02 февраля 2019

Я пишу весеннее загрузочное приложение для подписки на Google Cloud Pub / Sub topic. Я использую Google tutorial , но когда я запускаю приложение, у меня появляется эта ошибка

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

Как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Решение

Я добавил эту зависимость

implementation 'org.springframework.cloud:spring-cloud-gcp-autoconfigure:1.1.0.RELEASE'

Мои зависимости

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'
}
0 голосов
/ 02 февраля 2019

GcpPubSubAutoConfiguration предоставляет функцию автоматической настройки для создания необходимых bean-компонентов, включая PubSubTemplate.В вашем случае что-то пропущено. Пожалуйста, убедитесь, что зависимости установлены, или создайте заново следующий компонент, чтобы он работал.

    @Bean
    public PubSubTemplate pubSubTemplate(PubSubPublisherTemplate pubSubPublisherTemplate,
            PubSubSubscriberTemplate pubSubSubscriberTemplate) {
        return new PubSubTemplate(pubSubPublisherTemplate, pubSubSubscriberTemplate);
    }

Кроме того, убедитесь, что GcpContextAutoConfiguration создан на основе свойств нижев приложении. свойства.

spring.cloud.gcp.credentials.location=${gcp_credentials}

зависимость стартера :

      <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-pubsub</artifactId>
        </dependency>
...