L'accès aux services fournis par l'utilisateur à l'aide de connecteurs CloudFoundry Spring cloud

voix
2

Je suis en train d'utiliser Spring Cloud pour consommer un service REST générique d'une application Cloud Foundry.

Ce service est créé en utilisant Spring Boot, comme suit:

package com.something;

@RestController
public class DemoServiceController {
    @RequestMapping(/sayHi)
    public String sayHi() {
        return Hello!;
    }
}

Cela fonctionne très bien - je peux accéder http://www.example.com/srv/demo/sayHiet obtenir « Bonjour! » arrière.

Ensuite, j'ai créé une instance de service fourni par l' utilisateur à l' aide des CF-CLI et lié à mon application. Je peux maintenant voir le service lié à VCAP_SERVICES.

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

Ensuite, comme décrit ici , j'ai ajouté ce haricot à mon application de la config de printemps, avec l' connector-typeensemble de mon contrôleur original (j'ai une référence à lui aussi bien).

<cloud:service id=myDemoService
               service-name=my-demo-service
               connector-type=com.something.DemoServiceController
               />

Maintenant , quand je auto-fil myDemoServicedans mon application,

@Autowired
private DemoController myDemoService;

Je reçois une erreur:

pourraient être trouvés Aucun service du type spécifié.

Je me suis assuré d'inclure toutes les dépendances nécessaires, y compris spring-cloud-spring-service-connectoret spring-cloud-cloudfoundry-connector.

Qu'est-ce qui ne va pas ici? Est-ce que je donne les mauvais paramètres de haricots? Toute aide est très appréciée.

Créé 17/02/2015 à 05:46
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
5

Cloud Connectors printemps savent pas quoi faire avec ce service, chaque service pris en charge doit être d'un type connu (MySQL, Postgres, Redis, MongoDB, RabbitMQ, etc.). Réglage de la connector-typeà votre classe de contrôleur ne fera pas ce que vous voulez.

Ce que vous devez faire est de créer une extension des connecteurs personnalisés. Voici un exemple d'un projet qui fait que: https://github.com/cf-platform-eng/spring-boot-cities .

Créé 17/02/2015 à 22:58
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more