首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com.google.cloud.pubsub.v1.stub.SubscriberStubSettings$Builder.setBackground : java.lang.NoSuchMethodError: com.google.api.gax.rpc.StubSettings$Builder

com.google.cloud.pubsub.v1.stub.SubscriberStubSettings$Builder.setBackground : java.lang.NoSuchMethodError: com.google.api.gax.rpc.StubSettings$Builder
EN

Stack Overflow用户
提问于 2022-05-17 22:59:02
回答 1查看 304关注 0票数 0

我正在尝试在执行器中使用,但是当我调用/执行器/健康时,程序会抛出以下内容:

代码语言:javascript
复制
java.lang.NoSuchMethodError: 'com.google.api.gax.rpc.StubSettings$Builder com.google.cloud.pubsub.v1.stub.SubscriberStubSettings$Builder.setBackgroundExecutorProvider(com.google.api.gax.core.ExecutorProvider)'
    at com.google.cloud.spring.pubsub.support.DefaultSubscriberFactory.buildSubscriberStubSettings(DefaultSubscriberFactory.java:398) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.pubsub.support.DefaultSubscriberFactory.createSubscriberStub(DefaultSubscriberFactory.java:339) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) ~[na:na]
    at com.google.cloud.spring.pubsub.core.subscriber.PubSubSubscriberTemplate.getSubscriberStub(PubSubSubscriberTemplate.java:527) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.pubsub.core.subscriber.PubSubSubscriberTemplate.pullAsync(PubSubSubscriberTemplate.java:209) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.pubsub.core.subscriber.PubSubSubscriberTemplate.pullAsync(PubSubSubscriberTemplate.java:259) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.pubsub.core.PubSubTemplate.pullAsync(PubSubTemplate.java:147) ~[spring-cloud-gcp-pubsub-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.pullMessage(PubSubHealthIndicator.java:121) ~[spring-cloud-gcp-autoconfigure-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:100) ~[spring-cloud-gcp-autoconfigure-3.2.1.jar:3.2.1]
    at com.google.cloud.spring.autoconfigure.pubsub.health.PubSubHealthIndicator.doHealthCheck(PubSubHealthIndicator.java:95) ~[spring-cloud-gcp-autoconfigure-3.2.1.jar:3.2.1]
    at org.springframework.boot.actuate.health.AbstractHealthIndicator.health(AbstractHealthIndicator.java:82) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthIndicator.getHealth(HealthIndicator.java:37) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:85) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointWebExtension.getHealth(HealthEndpointWebExtension.java:44) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:99) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointSupport.getAggregateHealth(HealthEndpointSupport.java:110) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointSupport.getContribution(HealthEndpointSupport.java:96) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:74) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointSupport.getHealth(HealthEndpointSupport.java:61) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:71) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.health.HealthEndpointWebExtension.health(HealthEndpointWebExtension.java:60) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
    at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) ~[spring-core-5.2.7.RELEASE.jar:5.2.7.RELEASE]
    at org.springframework.boot.actuate.endpoint.invoke.reflect.ReflectiveOperationInvoker.invoke(ReflectiveOperationInvoker.java:77) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.endpoint.annotation.AbstractDiscoveredOperation.invoke(AbstractDiscoveredOperation.java:60) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$ServletWebOperationAdapter.handle(AbstractWebMvcEndpointHandlerMapping.java:305) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(AbstractWebMvcEndpointHandlerMapping.java:388) ~[spring-boot-actuator-2.3.1.RELEASE.jar:2.3.1.RELEASE]
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]

抛出错误的行是,表示该方法不存在。

DefaultSubscriberFactory.java#L398

代码语言:javascript
复制
    ExecutorProvider executor = getExecutorProvider(subscriptionName);
    if (executor != null) {
      subscriberStubSettings.setBackgroundExecutorProvider(executor);
    }

我试图修改libs的版本,但没有成功。

Spring版本2.3.1

代码语言:javascript
复制
    implementation 'org.springframework.integration:spring-integration-core'
    implementation platform('com.google.cloud:spring-cloud-gcp-dependencies:3.2.1')
    implementation 'com.google.cloud:spring-cloud-gcp-starter'
    implementation 'com.google.cloud:spring-cloud-gcp-starter-pubsub'
EN

回答 1

Stack Overflow用户

发布于 2022-05-17 23:25:15

这是一个既定的事实,它只使用com.google.api.gax.core.InstantiatingExecutorProvider

请参阅SubscriberStubSettings.java

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72281549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档