使用Spring Cloud连接器访问CloudFoundry用户提供的服务

我正在尝试使用Spring Cloud" title="Spring Cloud">Spring Cloud从Cloud Foundry应用程序使用通用REST服务。

该服务是使用Spring Boot创建的,如下所示:

package com.something;

@RestController

public class DemoServiceController {

@RequestMapping("/sayHi")

public String sayHi() {

return "Hello!";

}

}

效果很好-我可以访问http://www.example.com/srv/demo/sayHi并获取“你好!” 背部。

接下来,我使用CF-CLI创建了一个用户提供的服务实例,并将其绑定到我的应用程序。现在,我可以在中看到绑定的服务VCAP_SERVICES

cf cups my-demo-service -p '{"url":"http://www.example.com/srv/demo/"}'

cf bs my-demo-app my-demo-service

接下来,描述在这里,我加入这个bean到我的应用程序的Spring配置,用connector-

type一套我原来的控制器(我对它的引用以及)。

<cloud:service id="myDemoService"

service-name="my-demo-service"

connector-type="com.something.DemoServiceController"

/>

现在,当我自动连接"myDemoService"到我的应用程序时,

@Autowired

private DemoController myDemoService;

我收到一个错误:

找不到指定类型的服务。

我已经确保包括所有必需的依赖项,包括spring-cloud-spring-service-connectorspring-cloud-

cloudfoundry-connector

这是怎么了 我输入了错误的bean参数吗?任何帮助深表感谢。

回答:

Spring Cloud

Connector将不知道如何使用此服务,因为每个受支持的服务都必须是已知类型(MySQL,Postgres,Redis,MongoDB,RabbitMQ等)。将设置connector-

type为Controller类不会执行您想要的操作。

您需要做的是创建一个自定义的Connector扩展。这是一个执行此操作的项目示例:https : //github.com/cf-platform-eng/spring-boot-

cities。

以上是 使用Spring Cloud连接器访问CloudFoundry用户提供的服务 的全部内容, 来源链接: utcz.com/qa/406709.html

回到顶部