Ich bin mit Camel 2.18.1 und haben eine http4 Strecke ähnlich wieApache Camel http4 erkennen Endpunkt Protokoll
<to id="Http4Endpoint" uri="https4://{{servicename}}?sslContextParameters=mySslContext"/>
{{}} service über BridgePropertyPlaceholderConfigurer geladen, so dass ich den Endpunkt in verschiedenen Umgebungen festlegen können .
Das Problem, auf das ich gerade gestoßen bin, ist, dass einige meiner Testumgebungen nicht https sind und die Route fehlschlägt, da sie versucht, HTTPS-Kommunikation zu erzwingen.
Ich habe zuvor Jetty-Produzenten verwendet, wo Sie http oder https in {{servicename}} angeben konnten und es automatisch ausgehandelt hat, aber http4 scheint nur den Hostnamen: Port zuzulassen.
Wie kann ich die Lokalisierung zwischen verschiedenen Umgebungen verwalten, so dass es mit einem HTTP- oder HTTPS-Endpunkt funktioniert?
Dank
Warum die gesamten uri Parameter als Platzhalter nicht spritzen? –
Ich werde wahrscheinlich diesen Weg gehen, aber es macht es für das Downstream-Einsatzteam schwieriger. Sie verstehen nicht unbedingt, was http (s) 4 oder die sslContextParameters usw. sind. – Karl
Sie könnten natürlich über Umgebungsvariablen abhängig von einer Bedingung injizieren. Aber ich habe etwas ähnliches gemacht und stattdessen die gesamte uri-Saite eingespritzt. Sie könnten es natürlich auch aus einer Eigenschaftendatei laden, wenn Sie wollten. –