Dieses Dokument führt Sie durch die Bindung Ihrer Anwendung an eine RabbitMQ-Instanz, die nicht auf dem Kf-Marktplatz aufgeführt ist (einschließlich RabbitMQ zum Bereitstellen auf Marketplace mit dem Spring Cloud Foundry-Connector). Dies führt dazu, dass die RabbitMQ-Anmeldedaten in Ihre App eingebunden werden, genauso wie die Bindung an Dienste, die über Marktplatzpläne bereitgestellt werden.
Hinweis
- Prüfen Sie, ob RabbitMQ auf Ihrem Kf-Cluster installiert und zugänglich ist.
- Prüfen Sie, ob RabbitMQ bereits für Ihre App eingerichtet wurde.
- Überprüfen Sie, ob Sie die Ausrichtung auf den Space aktiviert haben, in dem Ihre App ausgeführt wird.
Vom Nutzer bereitgestellte Instanz erstellen
Damit Kf eine App erfolgreich an Ihre RabbitMQ-Instanz binden kann, ist die minimale Umgebungsvariable der URI (z. B. amqp://username:password@host:port/vhost?query
). Falls gewünscht, können zusätzliche Schlüssel/Wert-Paare eingebunden werden. In der RabbitMQ-Dokumentation erfahren Sie, wie Sie einen URI-String erstellen. Das folgende Beispiel sollte für grundlegende Bereitstellungen ausreichen.
kf cups service-instance-name -p '{"uri":"amqp://username:password@rabbitmq-host:5672"}' -t "rabbitmq"
App binden
Nachdem der vom Nutzer bereitgestellte Dienst erstellt wurde, können Sie Ihre App an den Instanznamen binden:
kf bind-service application-name service-instance-name
Starten Sie Ihre App neu, damit die Änderungen wirksam werden:
kf restart application-name
Sie können überprüfen, ob die neuen Umgebungsvariablen für Ihre Anwendung bereitgestellt wurden:
kf vcap-services application-name
Vom Nutzer bereitgestellte Instanz aktualisieren
Wenn Änderungen an der Umgebung vorgenommen werden (z. B. Passwort- oder Hostupdate im URI oder das Hinzufügen neuer Schlüssel/Wert-Paare), die an eine mit der Anwendung verbundene App weitergegeben werden müssen, können Sie die vom Nutzer bereitgestellte Instanz aktualisieren.
kf uups service-instance-name -p '{"uri":"new-uri", "some-new-key": "some-new-value"}'
kf unbind-service application-name service-instance-name
kf bind-service application-name service-instance-name