Я пытаюсь использовать Spring Cloud для использования общей службы REST из приложения Cloud Foundry.
Эта служба создается с использованием 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-connector
и spring-cloud-cloudfoundry-connector
.
Что здесь не так? Я даю неправильные параметры bean-компонента? Любая помощь горячо приветствуется.