3
votes

Spring Cloud Feign + Sleuth + Zipkin - la demande originale est requise

J'ai une application multiservices qui utilise Spring Cloud OpenFeign. Maintenant, je dois utiliser zipkin avec cette application. Je me souviens que quand j'avais une application sans Feign, je viens d'ajouter les dépendances de démarrage de Sleuth et Zipkin et d'exécuter le serveur zipkin sur le port 9411. Après cela, Zipkin a bien fonctionné .. Mais maintenant, quand j'essaye la même chose dans mon application avec Feign, j'obtiens l'erreur 500 "la demande originale est requise" . Je suppose que Feign a quelques problèmes avec les en-têtes lorsque Sleuth ajoute des informations de trace. Pouvez-vous m'aider à résoudre ce problème?


0 commentaires

3 Réponses :


3
votes

C'est difficile à dire sans plus d'informations. Mais cela peut être lié à des bibliothèques incompatibles . Pouvez-vous publier vos dépendances?

Si vous utilisez la ancienne version de okhttpclient avec le dernier spring cloud: greenwich, cela peut causer ce problème.

J'utilise Greenwich.RELEASE avec okhttpclient: 10.2.0 qui fonctionne sans problème


1 commentaires

+1 Merci. J'ai eu le message d'erreur ci-dessus dans Feign en utilisant deux "clients Feign" différents dans mon projet, basés sur différentes versions de Feign. À la fin, feign-core 10.x avait ce problème avec feign-okhttp 9.x. qui était facile à détecter en utilisant la dépendance mvn: tree une fois que je savais quoi chercher. Greenwich.RELEASE a récupéré toutes les versions pour qu'elles soient compatibles.



1
votes

Utilisez la gestion des dépendances ci-dessous pour spring-boot pour télécharger les versions appropriées pour la version cloud

    <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

J'utilise Java 10, cloud.version est Finchley.SR2 strong > et sprinb-boot: 2.2.0 et spring-cloud-starter-openfeign: 2.1.2.RELEASE. et cette combinaison a fonctionné pour moi pour résoudre le problème.

Le problème réel était que 10.xx feign-core ne fonctionnait pas seulement et io.github.openfeign: feign-core: jar: 9.7.0: compile était fonctionne.


0 commentaires

1
votes

J'ai rencontré ce problème en utilisant java 11, springboot 2.3.0.RELEASE et la version spring-cloud Greenwich.RELEASE. L'ajout des dépendances suivantes m'a sauvé:

    <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-okhttp</artifactId>
        <version>10.2.0</version>
    </dependency>
    <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-core</artifactId>
        <version>10.2.0</version>
    </dependency>

J'espère que cela aide quelqu'un.


0 commentaires