问题从PCF连接发布/订阅

问题描述

我正在尝试从PCF环境(春季启动应用)连接Google Pub / Sub。该应用程序已成功从certificate.json文件加载凭据,并显示了Project ID。但启动后它在错误下方打印。

c.g.a.oauth2.ComputeEngineCredentials:无法检测我们是否在Google Compute Engine上运行。 错误13-[nio-8080-exec-4] o.a.c.c.C。[。[。[/]。[dispatcherServlet]:在路径为[]的上下文中,用于Servlet [dispatcherServlet]的Servlet.service()引发异常[请求处理失败;嵌套异常为java.lang.IllegalStateException:期望服务InnerService [FAILED]正在运行,但是该服务具有FAILED],其根本原因是 java.io.IOException:应用程序默认证书不可用。如果它们在Google Compute Engine中运行,则可用。否则,必须定义环境变量GOOGLE_APPLICATION_CREDENTIALS,指向指向定义凭据的文件。有关更多信息,请参见https://developers.google.com/accounts/docs/application-default-credentials。

这是我正在使用的代码,我正在从示例Rest控制器调用此方法。

public static void subscribeAsyncExample(String projectId,String subscriptionId) {
ProjectSubscriptionName subscriptionName =
    ProjectSubscriptionName.of(projectId,subscriptionId);
System.out.println("Processing messages...");
MessageReceiver receiver =
    (message,consumer) -> {
      System.out.println("Id : " + message.getMessageId());
      System.out.println("Data : " + message.getData().toStringUtf8());
      consumer.ack();
    };
Subscriber subscriber = null;
try {
  subscriber = Subscriber.newBuilder(subscriptionName,receiver).build();
  subscriber.startAsync().awaitRunning();
  subscriber.awaitTerminated();
} finally {
  if (subscriber != null) {
    subscriber.stopAsync();
  }
}

}

pom.xml

春季启动:2.3.2。发布 spring-cloud-gcp.version:1.1.3。发布

`

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


<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-pubsub</artifactId>
</dependency>



<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-storage</artifactId>
</dependency>

`

日志: 默认项目ID为******* 服务帐户的默认凭据提供商*****-client-account@*******.gserviceaccount.com 默认使用的凭据范围:[https://www.googleapis.com/auth/pubsub、https://www.googleapis.com/auth/trace.append、https://www.googleapis.com/auth/ spanner.admin,https://www.googleapis.com/auth/cloudruntimeconfig、https://www.googleapis.com/auth/sqlservice.admin、https://www.googleapis.com/auth/devstorage.read_only, https://www.googleapis.com/auth/devstorage.read_write、https://www.googleapis.com/auth/cloud-platform、https://www.googleapis.com/auth/spanner.data、https: //www.googleapis.com/auth/datastore,https://www.googleapis.com/auth/cloud-vision]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...