2017-06-19 3 views
0

J'utilise Spring Cloud Consul pour enregistrer mon service, mais il remplacera toujours le. à - avant de vous inscrire, comme ceci:printemps nuage consul remplacera. Avant d'enregistrer

Mon nom de l'application: com.test.app

Le nom consul: com-test-app

J'ai essayé le spring.application.name & spring.cloud.consul.discovery.service-name, ils sont les mêmes.

quelqu'un sait comment éviter cette conversion?

Merci beaucoup.

=======================================

Mis à jour le juin 23, 2017:

J'ai essayé d'utiliser curl pour enregistrer à consul, il supporte cela, donc je suppose que c'est la conversion est une limitation de printemps, s'il vous plaît aider!

[email protected] ~ -> curl -XPUT 127.0.0.1:8500/v1/agent/service/register -d '{ "ID": "test_001", "Name":"com.test.app", "Address": "10.0.0.10", "Port": 8080 }' 
     % Total % Received % Xferd Average Speed Time Time  Time Current 
            Dload Upload Total Spent Left Speed 
    100 81 0  0 100 81  0  81 0:00:01 --:--:-- 0:00:01 81000 
    [email protected] ~ -> 
    [email protected] ~ -> curl 127.0.0.1:8500/v1/catalog/services 
     % Total % Received % Xferd Average Speed Time Time  Time Current 
            Dload Upload Total Spent Left Speed 
    100 45 100 45 0  0  45  0 0:00:01 --:--:-- 0:00:01 45000{ 
     "com.test.app": [], 
     "consul": [] 
    } 

    [email protected] ~ -> 
    [email protected] ~ -> curl 127.0.0.1:8500/v1/catalog/service/com.test.app 
     % Total % Received % Xferd Average Speed Time Time  Time Current 
            Dload Upload Total Spent Left Speed 
    100 551 100 551 0  0 36733  0 --:--:-- --:--:-- --:--:-- 36733[ 
     { 
      "ID": "3789117d-a44e-c82b-07dd-b386a1f2eeef", 
      "Node": "server", 
      "Address": "127.0.0.1", 
      "Datacenter": "dc1", 
      "TaggedAddresses": { 
       "lan": "127.0.0.1", 
       "wan": "127.0.0.1" 
      }, 
      "NodeMeta": {}, 
      "ServiceID": "test_001", 
      "ServiceName": "com.test.app", 
      "ServiceTags": [], 
      "ServiceAddress": "10.0.0.10", 
      "ServicePort": 8080, 
      "ServiceEnableTagOverride": false, 
      "CreateIndex": 12, 
      "ModifyIndex": 12 
     } 
    ] 

    [email protected] ~ -> 

Répondre

0

Techniquement, le nom du service ne doit pas contenir des points ou des périodes, S'il vous plaît se référer les documentation

noms de service et étiquette compatible DNS peuvent contenir des caractères alphanumériques, ainsi que des tirets. Les points ne sont pas pris en charge car Consul les utilise en interne pour délimiter les balises de service.

+0

Merci d'avoir répondu. Mais l'API reste repos peut supporter que, par exemple, cela fonctionne: curl -XPUT 127.0.0.1:8500/v1/agent/service/register -d '{"ID": "test_001", "Nom": " com.test.app "," Adresse ":" 10.0.0.10 "," Port ": 8080} ' – Pansion

+0

Ceci est PUT, quelle est la réponse que vous obtenez dans GET? Il va convertir en interne ce DOT – VelNaga

+0

Merci, mis à jour la réponse curl dans le message d'origine. – Pansion